<SEC-DOCUMENT>0001193125-23-083675.txt : 20230329
<SEC-HEADER>0001193125-23-083675.hdr.sgml : 20230329
<ACCEPTANCE-DATETIME>20230329161226
ACCESSION NUMBER:		0001193125-23-083675
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		64
CONFORMED PERIOD OF REPORT:	20221231
FILED AS OF DATE:		20230329
DATE AS OF CHANGE:		20230329

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			CHICAGO RIVET & MACHINE CO
		CENTRAL INDEX KEY:			0000019871
		STANDARD INDUSTRIAL CLASSIFICATION:	METALWORKING MACHINERY & EQUIPMENT [3540]
		IRS NUMBER:				360904920
		STATE OF INCORPORATION:			IL
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	000-01227
		FILM NUMBER:		23775334

	BUSINESS ADDRESS:	
		STREET 1:		901 FRONTENAC RD
		STREET 2:		P O BOX 3061
		CITY:			NAPERVILLE
		STATE:			IL
		ZIP:			60566
		BUSINESS PHONE:		6303578500

	MAIL ADDRESS:	
		STREET 1:		901 FRONTENAC RD
		STREET 2:		P O BOX 3061
		CITY:			NAPERVILLE
		STATE:			IL
		ZIP:			60566
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>d486850d10k.htm
<DESCRIPTION>10-K
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8" ?>
<html xmlns='http://www.w3.org/1999/xhtml' xmlns:xbrli='http://www.xbrl.org/2003/instance' xmlns:dei='http://xbrl.sec.gov/dei/2022q4' xmlns:dtr-types='http://www.xbrl.org/dtr/type/2020-01-21' xmlns:us-gaap='http://fasb.org/us-gaap/2022' xmlns:srt='http://fasb.org/srt/2022' xmlns:country='http://xbrl.sec.gov/country/2022' xmlns:fil='http://www.chicagorivet.com/20221231' xmlns:i='http://www.xbrl.org/2003/instance' xmlns:xbrldi='http://xbrl.org/2006/xbrldi' 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:utr='http://www.xbrl.org/2009/utr' xmlns:link='http://www.xbrl.org/2003/linkbase' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
<head>
<title>10-K</title>
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type' />
</head>

   <body> <div style='display:none'> <ix:header> <ix:hidden> <ix:nonNumeric name='dei:EntityCentralIndexKey' contextRef='Y22' id='fact1'>0000019871</ix:nonNumeric> <ix:nonNumeric name='dei:CurrentFiscalYearEndDate' contextRef='Y22' id='fact2'>--12-31</ix:nonNumeric> <ix:nonNumeric name='dei:EntityRegistrantName' contextRef='Y22' id='fact3'>CHICAGO RIVET &amp; MACHINE CO</ix:nonNumeric> <ix:nonNumeric name='dei:SecurityExchangeName' contextRef='Y22' id='fact4'>NYSEAMER</ix:nonNumeric> <ix:nonNumeric name='dei:AmendmentFlag' contextRef='Y22' id='fact5'>false</ix:nonNumeric> <ix:nonNumeric name='dei:DocumentFiscalYearFocus' contextRef='Y22' id='fact6'>2022</ix:nonNumeric> <ix:nonNumeric name='dei:DocumentFiscalPeriodFocus' contextRef='Y22' id='fact7'>FY</ix:nonNumeric> </ix:hidden> <ix:references> <link:schemaRef xlink:arcrole='http://www.xbrl.org/2003/linkbase' xlink:href='cvr-20221231.xsd' xlink:type='simple'/> </ix:references> <ix:resources> <i:context id='Y22'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='E22'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> </i:entity> <i:period> <i:instant>2022-12-31</i:instant> </i:period> </i:context> <i:context id='E22Q2'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> </i:entity> <i:period> <i:instant>2022-06-30</i:instant> </i:period> </i:context> <i:context id='I230324'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> </i:entity> <i:period> <i:instant>2023-03-24</i:instant> </i:period> </i:context> <i:context id='E21'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id='Y21'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_StEqComps-RetainedEarnings'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='E20'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> </i:entity> <i:period> <i:instant>2020-12-31</i:instant> </i:period> </i:context> <i:context id='E20_StEqComps-PrefStock'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:PreferredStockMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2020-12-31</i:instant> </i:period> </i:context> <i:context id='E20_StEqComps-CommonStock'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2020-12-31</i:instant> </i:period> </i:context> <i:context id='E20_StEqComps-AddPaidInCap'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2020-12-31</i:instant> </i:period> </i:context> <i:context id='E20_StEqComps-RetainedEarnings'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2020-12-31</i:instant> </i:period> </i:context> <i:context id='E20_StEqComps-TreasuryStock'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:TreasuryStockMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2020-12-31</i:instant> </i:period> </i:context> <i:context id='Y21_StEqComps-RetainedEarnings'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='E21_StEqComps-PrefStock'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:PreferredStockMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id='E21_StEqComps-CommonStock'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id='E21_StEqComps-AddPaidInCap'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id='E21_StEqComps-RetainedEarnings'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id='E21_StEqComps-TreasuryStock'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:TreasuryStockMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id='E22_StEqComps-PrefStock'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:PreferredStockMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2022-12-31</i:instant> </i:period> </i:context> <i:context id='E22_StEqComps-CommonStock'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2022-12-31</i:instant> </i:period> </i:context> <i:context id='E22_StEqComps-AddPaidInCap'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2022-12-31</i:instant> </i:period> </i:context> <i:context id='E22_StEqComps-RetainedEarnings'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2022-12-31</i:instant> </i:period> </i:context> <i:context id='E22_StEqComps-TreasuryStock'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:TreasuryStockMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2022-12-31</i:instant> </i:period> </i:context> <i:context id='Y22_Range-Minimum_PpeByType-LandImprovements'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:PropertyPlantAndEquipmentByTypeAxis'>us-gaap:LandImprovementsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_Range-Maximum_PpeByType-LandImprovements'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:PropertyPlantAndEquipmentByTypeAxis'>us-gaap:LandImprovementsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_Range-Minimum_PpeByType-BuildingImprovements'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:PropertyPlantAndEquipmentByTypeAxis'>us-gaap:BuildingImprovementsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_Range-Maximum_PpeByType-BuildingImprovements'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:PropertyPlantAndEquipmentByTypeAxis'>us-gaap:BuildingImprovementsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_Range-Minimum_PpeByType-MachineryAndEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:PropertyPlantAndEquipmentByTypeAxis'>us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_Range-Maximum_PpeByType-MachineryAndEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:PropertyPlantAndEquipmentByTypeAxis'>us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_Range-Minimum_PpeByType-SoftwareAndSoftwareDvlpCosts'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:PropertyPlantAndEquipmentByTypeAxis'>us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_Range-Maximum_PpeByType-SoftwareAndSoftwareDvlpCosts'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:PropertyPlantAndEquipmentByTypeAxis'>us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_Range-Minimum_PpeByType-OtherCapizedPpe'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:PropertyPlantAndEquipmentByTypeAxis'>us-gaap:OtherCapitalizedPropertyPlantAndEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_Range-Maximum_PpeByType-OtherCapizedPpe'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:PropertyPlantAndEquipmentByTypeAxis'>us-gaap:OtherCapitalizedPropertyPlantAndEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='E21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:ValuationAllowancesAndReservesTypeAxis'>us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id='E20_ValuationAllowancesAndReservesType-AllowanceForCreditLoss'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:ValuationAllowancesAndReservesTypeAxis'>us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2020-12-31</i:instant> </i:period> </i:context> <i:context id='Y22_ValuationAllowancesAndReservesType-AllowanceForCreditLoss'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:ValuationAllowancesAndReservesTypeAxis'>us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:ValuationAllowancesAndReservesTypeAxis'>us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='E22_ValuationAllowancesAndReservesType-AllowanceForCreditLoss'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:ValuationAllowancesAndReservesTypeAxis'>us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2022-12-31</i:instant> </i:period> </i:context> <i:context id='E21_ValuationAllowancesAndReservesType-InventoryValuationReserve'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:ValuationAllowancesAndReservesTypeAxis'>us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id='E20_ValuationAllowancesAndReservesType-InventoryValuationReserve'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:ValuationAllowancesAndReservesTypeAxis'>us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2020-12-31</i:instant> </i:period> </i:context> <i:context id='Y22_ValuationAllowancesAndReservesType-InventoryValuationReserve'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:ValuationAllowancesAndReservesTypeAxis'>us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_ValuationAllowancesAndReservesType-InventoryValuationReserve'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:ValuationAllowancesAndReservesTypeAxis'>us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='E22_ValuationAllowancesAndReservesType-InventoryValuationReserve'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:ValuationAllowancesAndReservesTypeAxis'>us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2022-12-31</i:instant> </i:period> </i:context> <i:context id='Y22_StBusnSeg-Fastener'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_StBusnSeg-AssemblyEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_StBusnSeg-UnallocatedCorporate'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:UnallocatedCorporateMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='E22_StBusnSeg-Fastener'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2022-12-31</i:instant> </i:period> </i:context> <i:context id='E22_StBusnSeg-AssemblyEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2022-12-31</i:instant> </i:period> </i:context> <i:context id='E22_StBusnSeg-UnallocatedCorporate'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:UnallocatedCorporateMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2022-12-31</i:instant> </i:period> </i:context> <i:context id='Y21_StBusnSeg-Fastener'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_StBusnSeg-AssemblyEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_StBusnSeg-UnallocatedCorporate'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:UnallocatedCorporateMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='E21_StBusnSeg-Fastener'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id='E21_StBusnSeg-AssemblyEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id='E21_StBusnSeg-UnallocatedCorporate'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:UnallocatedCorporateMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id='Y22_ProductOrService-EndMarket'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:EndMarketMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_ProductOrService-Automotive'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:AutomotiveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_ProductOrService-Automotive_StBusnSeg-Fastener'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:AutomotiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:AutomotiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_ProductOrService-Nonautomotive'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:NonautomotiveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_ProductOrService-Nonautomotive_StBusnSeg-Fastener'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:NonautomotiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:NonautomotiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_ProductOrService-Automotive'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:AutomotiveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_ProductOrService-Automotive_StBusnSeg-Fastener'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:AutomotiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:AutomotiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_ProductOrService-Nonautomotive'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:NonautomotiveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_ProductOrService-Nonautomotive_StBusnSeg-Fastener'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:NonautomotiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:NonautomotiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_StGeo-Location'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:LocationMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_StGeo-US'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>country:US</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_StGeo-US_StBusnSeg-Fastener'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_StGeo-US_StBusnSeg-AssemblyEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_StGeo-NonUs'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>us-gaap:NonUsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_StGeo-NonUs_StBusnSeg-Fastener'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>us-gaap:NonUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_StGeo-NonUs_StBusnSeg-AssemblyEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>us-gaap:NonUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_StGeo-US'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>country:US</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_StGeo-US_StBusnSeg-Fastener'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_StGeo-US_StBusnSeg-AssemblyEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_StGeo-NonUs'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>us-gaap:NonUsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_StGeo-NonUs_StBusnSeg-Fastener'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>us-gaap:NonUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_StGeo-NonUs_StBusnSeg-AssemblyEquipment'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>us-gaap:NonUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:StatementBusinessSegmentsAxis'>fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_MajCust-TIGroupAutomotiveSystems'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:MajorCustomersAxis'>fil:TIGroupAutomotiveSystemsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_MajCust-TIGroupAutomotiveSystems'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:MajorCustomersAxis'>fil:TIGroupAutomotiveSystemsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y22_MajCust-CooperStandardHoldingsInc'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:MajorCustomersAxis'>fil:CooperStandardHoldingsIncMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_MajCust-CooperStandardHoldingsInc'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:MajorCustomersAxis'>fil:CooperStandardHoldingsIncMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:context id='Y21_MajCust-ParkerHannifinCorporation'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='srt:MajorCustomersAxis'>fil:ParkerHannifinCorporationMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2021-01-01</i:startDate> <i:endDate>2021-12-31</i:endDate> </i:period> </i:context> <i:unit id='Pure'> <i:measure>xbrli:pure</i:measure> </i:unit> <i:unit id='USD'> <i:measure>iso4217:USD</i:measure> </i:unit> <i:unit id='Shares'> <i:measure>xbrli:shares</i:measure> </i:unit> <i:unit id='UsdPerShare'> <i:divide> <i:unitNumerator> <i:measure>iso4217:USD</i:measure> </i:unitNumerator> <i:unitDenominator> <i:measure>xbrli:shares</i:measure> </i:unitDenominator> </i:divide> </i:unit> </ix:resources> </ix:header> </div> <div><p style='font:14pt Times New Roman;margin:0;text-align:center'>&#160;</p> <p style='font:14pt Times New Roman;margin:0;text-align:center'><b>UNITED STATES </b></p> <p style='font:14pt Times New Roman;margin:0;text-align:center'><b>SECURITIES AND EXCHANGE COMMISSION</b></p> <p style='font:14pt Times New Roman;margin:0;text-align:center'><b>WASHINGTON, DC &#160;20549</b></p> <p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p> <p style='font:12pt Times New Roman;margin:0;text-align:center'><span style='font-size:14pt'><b>FORM</b></span><b> </b><span style='font-size:14pt'><b><ix:nonNumeric name='dei:DocumentType' contextRef='Y22' escape='true'>10-K</ix:nonNumeric></b></span></p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonNumeric name='dei:DocumentAnnualReport' contextRef='Y22' format='ixt-sec:boolballotbox'>&#9746;</ix:nonNumeric> <b> </b>ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(D) OF THE SECURITIES EXCHANGE ACT OF 1934</p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0;text-align:center'><b>For the fiscal year ended </b><ix:nonNumeric name='dei:DocumentPeriodEndDate' contextRef='Y22' format='ixt:datemonthdayyearen'>December 31, 2022</ix:nonNumeric><span style='-sec-ix-hidden:fact2'></span></p> <p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p> <p style='font:10pt Times New Roman;margin:0;text-align:center'>or</p> <p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p> <p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonNumeric name='dei:DocumentTransitionReport' contextRef='Y22' format='ixt-sec:boolballotbox'>&#9744;</ix:nonNumeric><b> &#160;</b>TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(D) OF THE SECURITIES EXCHANGE ACT OF 1934</p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0;text-align:center'><b>Commission file number <ix:nonNumeric name='dei:EntityFileNumber' contextRef='Y22' escape='true'>000-01227</ix:nonNumeric></b></p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0;text-align:center'><b>
<img src="g486850cvr10k2022_12.jpg" alt="Picture"/></b>&#160;</p> <p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p> <p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='-sec-ix-hidden:fact3'><span style='font-size:16pt'><b>Chicago Rivet &amp; Machine Co.</b></span></span></p> <p style='font:10pt Times New Roman;margin:0;text-align:center'>(Exact name of registrant as specified in its charter)</p> <p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
<table style='margin:0 auto;border-collapse:collapse'>
<tr>
<td valign='bottom' style='width:189pt;padding-left:2pt;padding-right:2pt'><p style='font:11pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonNumeric name='dei:EntityIncorporationStateCountryCode' contextRef='Y22' format='ixt-sec:stateprovnameen'>Illinois</ix:nonNumeric>&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><br/>(State or other jurisdiction<br/>of incorporation or organization)</p> </td>
<td valign='bottom' style='width:198pt;padding-left:2pt;padding-right:2pt'><p style='font:11pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonNumeric name='dei:EntityTaxIdentificationNumber' contextRef='Y22' escape='true'>36-0904920</ix:nonNumeric>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><br/>I.R.S. Employer<br/>Identification Number</p> </td></tr> </table> <p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='margin:0 auto;border-collapse:collapse'>
<tr>
<td valign='bottom' style='width:201.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><b><ix:nonNumeric name='dei:EntityAddressAddressLine1' contextRef='Y22' escape='true'>901 Frontenac Road</ix:nonNumeric>, <ix:nonNumeric name='dei:EntityAddressCityOrTown' contextRef='Y22' escape='true'>Naperville</ix:nonNumeric>, <ix:nonNumeric name='dei:EntityAddressStateOrProvince' contextRef='Y22' format='ixt-sec:stateprovnameen'>Illinois</ix:nonNumeric></b></p> </td>
<td valign='bottom' style='width:93.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><b><ix:nonNumeric name='dei:EntityAddressPostalZipCode' contextRef='Y22' escape='true'>60563</ix:nonNumeric></b></p> </td></tr>
<tr>
<td valign='bottom' style='width:201.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>(Address of Principal Executive Offices)</p> </td>
<td valign='bottom' style='width:93.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>(Zip Code)</p> </td></tr> </table> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0;text-align:center'>Registrant's telephone number, including area code: <b>(<ix:nonNumeric name='dei:CityAreaCode' contextRef='Y22' escape='true'>630</ix:nonNumeric>) <ix:nonNumeric name='dei:LocalPhoneNumber' contextRef='Y22' escape='true'>357-8500</ix:nonNumeric></b></p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>Securities registered pursuant to Section 12(b) of the Act:</p>
<table style='border-collapse:collapse'>
<tr>
<td valign='top' style='width:180.9pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'>Title of each class</p> </td>
<td valign='top' style='width:94.3pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'>Trading Symbol(s)</p> </td>
<td valign='top' style='width:246.8pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'>Name of each exchange on which registered</p> </td></tr>
<tr>
<td valign='top' style='width:180.9pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'><ix:nonNumeric name='dei:Security12bTitle' contextRef='Y22' escape='true'>Common Stock, par value $1.00 per share</ix:nonNumeric></p> </td>
<td valign='top' style='width:94.3pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonNumeric name='dei:TradingSymbol' contextRef='Y22' escape='true'>CVR</ix:nonNumeric></p> </td>
<td valign='top' style='width:246.8pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'><span style='-sec-ix-hidden:fact4'>NYSE American</span> &#160;(Trading privileges only, not registered)</p> </td></tr> </table> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. &#160;Yes <span style='font-size:11pt'><span style='font-family:Wingdings'>&#111;</span></span> &#160;<ix:nonNumeric name='dei:EntityWellKnownSeasonedIssuer' contextRef='Y22' escape='true'>No</ix:nonNumeric> <span style='font-size:11pt'><span style='font-family:Wingdings'>&#253;</span></span></p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>Indicate by check mark if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act. Yes <span style='font-size:11pt'><span style='font-family:Wingdings'>&#111;</span></span> &#160;<ix:nonNumeric name='dei:EntityVoluntaryFilers' contextRef='Y22' escape='true'>No</ix:nonNumeric> <span style='font-size:11pt'><span style='font-family:Wingdings'>&#253;</span></span></p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>Indicate by check mark whether the registrant (1) has 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 the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days. &#160;<ix:nonNumeric name='dei:EntityCurrentReportingStatus' contextRef='Y22' escape='true'>Yes</ix:nonNumeric> <span style='font-size:11pt'><span style='font-family:Wingdings'>&#253;</span></span> &#160;No <span style='font-size:11pt'><span style='font-family:Wingdings'>&#111;</span></span></p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted 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 such files). &#160;<ix:nonNumeric name='dei:EntityInteractiveDataCurrent' contextRef='Y22' escape='true'>Yes</ix:nonNumeric> <span style='font-size:11pt'><span style='font-family:Wingdings'>&#253;</span></span> &#160;No <span style='font-size:11pt'><span style='font-family:Wingdings'>&#111;</span></span></p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>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. &#160;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.:</p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;margin-left:36pt'>
<tr>
<td valign='top' style='width:180pt'><p style='font:10pt Times New Roman;margin:0'>Large accelerated filer &#160;<span style='font-size:11pt'><span style='font-family:Wingdings'>&#111;</span></span></p> </td>
<td valign='top' style='width:180pt'><p style='font:10pt Times New Roman;margin:0'>Accelerated filer &#160;<span style='font-size:11pt'><span style='font-family:Wingdings'>&#111;</span></span></p> </td></tr>
<tr>
<td valign='top' style='width:180pt'><p style='font:10pt Times New Roman;margin:0'><ix:nonNumeric name='dei:EntityFilerCategory' contextRef='Y22' format='ixt-sec:entityfilercategoryen'>Non-accelerated filer</ix:nonNumeric> &#160;&#160;&#160;<span style='font-size:11pt'><span style='font-family:Wingdings'>&#253;</span></span></p> </td>
<td valign='top' style='width:180pt'><p style='font:10pt Times New Roman;margin:0'>Smaller reporting company &#160;<ix:nonNumeric name='dei:EntitySmallBusiness' contextRef='Y22' format='ixt-sec:boolballotbox'>&#9746;</ix:nonNumeric><span style='font-size:11pt'> </span></p> </td></tr>
<tr>
<td valign='top' style='width:180pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p> </td>
<td valign='top' style='width:180pt'><p style='font:10pt Times New Roman;margin:0'>Emerging growth company &#160;<ix:nonNumeric name='dei:EntityEmergingGrowthCompany' contextRef='Y22' format='ixt-sec:boolballotbox'>&#9744;</ix:nonNumeric></p> </td></tr> </table> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. <span style='font-size:11pt'><span style='font-family:Wingdings'>&#111;</span></span> &#160;</p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>Indicate by check mark whether the registrant has filed a report on and attestation to its management&#8217;s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report. <ix:nonNumeric name='dei:IcfrAuditorAttestationFlag' contextRef='Y22' format='ixt-sec:boolballotbox'>&#9744;</ix:nonNumeric></p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>If Securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements. <span style='font-size:11pt'><span style='font-family:Wingdings'>&#111;</span></span></p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive based compensation received by any of the registrant&#8217;s executive officers during the relevant recovery period pursuant to &#167;240.10D-1(b). <span style='font-size:11pt'><span style='font-family:Wingdings'>&#111;</span></span></p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act). Yes <ix:nonNumeric name='dei:EntityShellCompany' contextRef='Y22' format='ixt-sec:boolballotbox'>&#9744;</ix:nonNumeric> &#160;No <span style='font-size:11pt'><span style='font-family:Wingdings'>&#253;</span></span> </p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>The aggregate market value of common stock held by non-affiliates of the Company as of June 30, 2022 was $<ix:nonFraction name='dei:EntityPublicFloat' contextRef='E22Q2' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>22,381,687</ix:nonFraction>.</p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>As of March 24, 2023, there were <ix:nonFraction name='dei:EntityCommonStockSharesOutstanding' contextRef='I230324' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction> shares of the Company's common stock outstanding.</p> <p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p> <p style='font:10pt Times New Roman;margin:0;text-align:center'><b>Documents Incorporated By Reference</b></p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>Portions of the Company's definitive Proxy Statement which is to be filed with the Securities and Exchange Commission in connection with the Company's 2023 Annual Meeting of Shareholders are incorporated by reference in Part III of this report.</p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td colspan='3' valign='bottom' style='width:446.4pt'><p style='font:10pt Arial;margin:0;text-align:center'><b>CHICAGO RIVET &amp; MACHINE CO.</b></p> </td></tr>
<tr>
<td colspan='3' valign='bottom' style='width:446.4pt'><p style='font:10pt Arial;margin:0;text-align:center'><b>YEAR ENDING DECEMBER 31, 2022</b></p> </td></tr>
<tr>
<td valign='bottom' style='width:36pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:360pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:36pt'><p style='font:10pt Arial;margin:0'>Item<br/><span style='border-bottom:1px solid #000000'>No.</span></p> </td>
<td valign='top' style='width:360pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>Page<br/><span style='border-bottom:1px solid #000000'>No.</span></p> </td></tr>
<tr style='height:14.4pt'>
<td valign='top' style='width:36pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:360pt'><p style='font:10pt Arial;margin:0;text-align:center'>Part I</p> </td>
<td valign='top' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:21.6pt'>
<td valign='bottom' style='width:36pt'><p style='font:10pt Arial;margin:0'>1.</p> </td>
<td valign='bottom' style='width:360pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a3' style='text-decoration:none'>Business</a></span></p> </td>
<td valign='bottom' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>3</p> </td></tr>
<tr>
<td valign='top' style='width:36pt'><p style='font:10pt Arial;margin:0'>1A.</p> </td>
<td valign='top' style='width:360pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a4' style='text-decoration:none'>Risk Factors</a></span></p> </td>
<td valign='top' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>4</p> </td></tr>
<tr>
<td valign='top' style='width:36pt'><p style='font:10pt Arial;margin:0'>1B.</p> </td>
<td valign='top' style='width:360pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a5' style='text-decoration:none'>Unresolved Staff Comments</a></span></p> </td>
<td valign='top' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>7</p> </td></tr>
<tr>
<td valign='top' style='width:36pt'><p style='font:10pt Arial;margin:0'>2.</p> </td>
<td valign='top' style='width:360pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a6' style='text-decoration:none'>Properties</a></span></p> </td>
<td valign='top' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>7</p> </td></tr>
<tr>
<td valign='top' style='width:36pt'><p style='font:10pt Arial;margin:0'>3.</p> </td>
<td valign='top' style='width:360pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a7' style='text-decoration:none'>Legal Proceedings</a></span></p> </td>
<td valign='top' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>7</p> </td></tr>
<tr>
<td valign='top' style='width:36pt'><p style='font:10pt Arial;margin:0'>4.</p> </td>
<td valign='top' style='width:360pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a8' style='text-decoration:none'>Mine Safety Disclosures</a></span></p> </td>
<td valign='top' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>7</p> </td></tr>
<tr style='height:28.8pt'>
<td valign='top' style='width:36pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:360pt'><p style='font:10pt Arial;margin:0;text-align:center'>Part II</p> </td>
<td valign='top' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:28.8pt'>
<td valign='middle' style='width:36pt'><p style='font:10pt Arial;margin:0'>5.</p> </td>
<td valign='bottom' style='width:360pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a9' style='text-decoration:none'>Market for Registrant&#8217;s Common Equity, Related Stockholder</a></span><br/><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a9' style='text-decoration:none'> &#160;Matters and Issuer Purchases of Equity Securities</a></span></p> </td>
<td valign='bottom' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>9</p> </td></tr>
<tr>
<td valign='top' style='width:36pt'><p style='font:10pt Arial;margin:0'>6.</p> </td>
<td valign='top' style='width:360pt'><p style='font:10pt Arial;margin:0'>[Reserved]</p> </td>
<td valign='top' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>9</p> </td></tr>
<tr>
<td valign='top' style='width:36pt'><p style='font:10pt Arial;margin:0'>7.</p> </td>
<td valign='top' style='width:360pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a10' style='text-decoration:none'>Management&#8217;s Discussion and Analysis of Financial Condition</a></span><br/><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a10' style='text-decoration:none'> &#160;and Results of Operations</a></span></p> </td>
<td valign='bottom' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>9</p> </td></tr>
<tr>
<td valign='top' style='width:36pt'><p style='font:10pt Arial;margin:0'>7A.</p> </td>
<td valign='top' style='width:360pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a11' style='text-decoration:none'>Quantitative and Qualitative Disclosures About Market Risk</a></span></p> </td>
<td valign='top' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>12</p> </td></tr>
<tr>
<td valign='top' style='width:36pt'><p style='font:10pt Arial;margin:0'>8.</p> </td>
<td valign='top' style='width:360pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a12' style='text-decoration:none'>Financial Statements and Supplementary Data</a></span></p> </td>
<td valign='top' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>13</p> </td></tr>
<tr>
<td valign='top' style='width:36pt'><p style='font:10pt Arial;margin:0'>9.</p> </td>
<td valign='top' style='width:360pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a13' style='text-decoration:none'>Changes in and Disagreements with Accountants on Accounting</a></span><br/><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a13' style='text-decoration:none'> &#160;and Financial Disclosure</a></span></p> </td>
<td valign='bottom' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>26</p> </td></tr>
<tr>
<td valign='top' style='width:36pt'><p style='font:10pt Arial;margin:0'>9A.</p> </td>
<td valign='top' style='width:360pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a14' style='text-decoration:none'>Controls and Procedures</a></span></p> </td>
<td valign='top' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>26</p> </td></tr>
<tr>
<td valign='top' style='width:36pt'><p style='font:10pt Arial;margin:0'>9B.</p> </td>
<td valign='top' style='width:360pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a15' style='text-decoration:none'>Other Information</a></span></p> </td>
<td valign='top' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>26</p> </td></tr>
<tr>
<td valign='top' style='width:36pt'><p style='font:10pt Arial;margin:0'>9C.</p> </td>
<td valign='top' style='width:360pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a16' style='text-decoration:none'>Disclosure Regarding Foreign Jurisdictions that Prevent Inspections</a></span></p> </td>
<td valign='top' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>26</p> </td></tr>
<tr style='height:28.8pt'>
<td valign='top' style='width:36pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:360pt'><p style='font:10pt Arial;margin:0;text-align:center'>Part III</p> </td>
<td valign='top' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:21.6pt'>
<td valign='bottom' style='width:36pt'><p style='font:10pt Arial;margin:0'>10.</p> </td>
<td valign='bottom' style='width:360pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a17' style='text-decoration:none'>Directors, Executive Officers and Corporate Governance</a></span></p> </td>
<td valign='bottom' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>27</p> </td></tr>
<tr>
<td valign='top' style='width:36pt'><p style='font:10pt Arial;margin:0'>11.</p> </td>
<td valign='top' style='width:360pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a18' style='text-decoration:none'>Executive Compensation</a></span></p> </td>
<td valign='top' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>27</p> </td></tr>
<tr>
<td valign='top' style='width:36pt'><p style='font:10pt Arial;margin:0'>12.</p> </td>
<td valign='top' style='width:360pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a19' style='text-decoration:none'>Security Ownership of Certain Beneficial Owners and</a></span><br/><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a19' style='text-decoration:none'> &#160;Management and Related Stockholder Matters</a></span></p> </td>
<td valign='top' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>27</p> </td></tr>
<tr>
<td valign='top' style='width:36pt'><p style='font:10pt Arial;margin:0'>13.</p> </td>
<td valign='top' style='width:360pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a20' style='text-decoration:none'>Certain Relationships and Related Transactions,</a></span><br/><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a20' style='text-decoration:none'> &#160;and Director Independence</a></span></p> </td>
<td valign='top' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>27</p> </td></tr>
<tr>
<td valign='top' style='width:36pt'><p style='font:10pt Arial;margin:0'>14.</p> </td>
<td valign='top' style='width:360pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a21' style='text-decoration:none'>Principal Accountant Fees and Services</a></span></p> </td>
<td valign='top' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>27</p> </td></tr>
<tr style='height:28.8pt'>
<td valign='top' style='width:36pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:360pt'><p style='font:10pt Arial;margin:0;text-align:center'>Part IV</p> </td>
<td valign='top' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:21.6pt'>
<td valign='bottom' style='width:36pt'><p style='font:10pt Arial;margin:0'>15.</p> </td>
<td valign='bottom' style='width:360pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a22' style='text-decoration:none'>Exhibits and Financial Statement Schedules</a></span></p> </td>
<td valign='bottom' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>28</p> </td></tr>
<tr>
<td valign='top' style='width:36pt'><p style='font:10pt Arial;margin:0'>16.</p> </td>
<td valign='top' style='width:360pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a23' style='text-decoration:none'>Form 10-K Summary</a></span></p> </td>
<td valign='top' style='width:50.4pt'><p style='font:10pt Arial;margin:0'>28</p> </td></tr> </table> <hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>2</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b>PART I</b></span></p> <a id='a3'></a><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 1 - Business</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>Chicago Rivet &amp; Machine Co. (the &quot;Company&quot;) was incorporated under the laws of the State of Illinois in December 1927, as successor to the business of Chicago Rivet &amp; Specialty Co. &#160;The Company operates in two segments of the fastener industry: fasteners and assembly equipment. &#160;The fastener segment consists of the manufacture and sale of rivets, cold-formed fasteners and parts, and screw machine products. &#160;The assembly equipment segment consists primarily of the manufacture of automatic rivet setting machines, automatic assembly equipment and parts and tools for such machines. &#160;&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The principal market for the Company&#8217;s products is the North American automotive industry. &#160;Sales are solicited by employees and by independent sales representatives.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The segments in which the Company operates are characterized by active and substantial competition. &#160;No single company dominates the industry. &#160;The Company's competitors include both larger and smaller manufacturers, and segments or divisions of large, diversified companies with substantial financial resources. &#160;Principal competitive factors in the market for the Company's products are price, quality and service.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The Company serves a variety of customers. &#160;Revenues are primarily derived from sales to customers involved, directly or indirectly, in the manufacture of automobiles and automotive components. &#160;The level of business activity for the Company is closely related to the overall level of industrial activity in the United States. &#160;During 2022 sales to two customers were at least 10% of the Company&#8217;s consolidated revenues. &#160;Sales to Cooper-Standard Holdings Inc. accounted for approximately 14% and 11% of the Company&#8217;s consolidated revenues in 2022 and 2021, respectively. &#160;Sales to TI Group Automotive Systems, LLC accounted for approximately 15% and 13% of the Company&#8217;s consolidated revenues in 2022 and 2021,respectively. &#160;Sales to Parker-Hannifin Corporation accounted for approximately 12% of the Company&#8217;s consolidated revenues in 2021.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The Company's business has historically been stronger during the first half of the year.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The Company purchases raw material from a number of sources, primarily within the United States. &#160;There are numerous sources of raw material, and the Company does not have to rely on a single source for any of its requirements.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>Patents, trademarks, licenses, franchises and concessions are not of significant importance to the business of the Company.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The Company does not engage in significant research activities, but rather in ongoing product improvement and development. &#160;The amounts spent on product development activities in the last two years were not material.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>At December 31, 2022, the Company employed 208 people.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'> &#160;&#160;&#160;</kbd><kbd style='margin-left:36pt'></kbd>The Company has no foreign operations. &#160;Sales to foreign customers represent approximately 16% of the Company's total sales.&#160;</p> <hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>3</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <p style='font:10pt Arial;margin:0'> &#160;</p> <a id='a4'></a><p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 1A </b><b>-</b><b> Risk Factors</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>Our business is subject to a number of risks and uncertainties. &#160;If any of the events contemplated by the following risks actually occur, then our business, financial condition or results of operations could be materially adversely affected. &#160;Additional risks and uncertainties not currently known to us or that we currently deem to be immaterial may also materially and adversely affect our business, financial condition and results of operations.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>Our business and operations have been, and may continue to be, adversely affected by the COVID-19 pandemic.</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>In March 2020, the World Health Organization characterized the novel coronavirus (&#8220;COVID-19&#8221;) a pandemic and the President of the United States declared the COVID-19 outbreak a national emergency. On January 30, 2020, the World Health Organization declared a Public Health Emergency of International Concern regarding the outbreak of COVID-19. In response to the resulting pandemic, governments around the world took various preventative measures in order to control the spread of the virus, including restricting travel, full or partial business shutdowns and implementing social distancing policies. &#160;As a result, we experienced a significant drop in orders, especially in the second quarter of 2020, and the global economy was plunged into a recession. &#160;Although business conditions in our markets had improved by late in the third quarter of that year, the effects of the pandemic have continued to negatively impact our operations and those of our customers and suppliers. The duration of these effects is uncertain and will likely be tied to the course of the pandemic. &#160;As we cannot predict the duration or scope of the COVID-19 pandemic, or its broader impact on the global economy, including the demand for automobiles, it is unknown what the impact of COVID-19 and its related effects will be on our business, results of operations or financial condition, but the impact could be material and last for an extended period of time.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>Labor shortages could prevent us from meeting customer demand.</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'><kbd style='margin-left:36pt'></kbd>We and some of our third-party suppliers and service providers have experienced and may continue to experience a shortage of qualified labor at our and their facilities. &#160;A prolonged shortage of qualified labor could decrease our third-party vendors&#8217; ability to meet our demands and efficiently operate their facilities. &#160;Prolonged labor shortage could also lead to decreased productivity and increased labor costs from higher overtime, the need to hire temporary help to meet demand and higher wages rates in order to attract and retain employees. Any of these developments could materially increase our operating costs and have a material adverse effect on our business, results of operations and financial condition.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>We are dependent on the automotive industry.</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>Demand for our products is directly related to conditions in the global automotive industry, which is highly cyclical and is affected by a variety of factors, including regulatory requirements, international trade policies, and consumer spending and preferences. &#160;The automotive industry is characterized by fierce competition and has undergone major restructuring in recent years. &#160;The impact of evolving technological changes, including a growing emphasis on electric vehicles, as well as any decline in the automotive industry, domestic or foreign, could have a material adverse effect on our business, results of operations and financial condition.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>We face intense competition.</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>We compete with a number of other manufacturers and distributors that produce and sell products similar to ours. &#160;Price, quality and service are the primary elements of competition. &#160;Our competitors include a large number of independent domestic and international suppliers. &#160;We are not as large as a number of these companies and do not have as many financial or other resources. &#160;Faced with intense international competition and pressure to reduce costs, many customers have expanded their sourcing of components worldwide. &#160;As a result, we have experienced competition from suppliers in other parts of the world that benefit from economic advantages, such as lower labor costs, lower health care costs and fewer regulatory burdens. &#160;There can be no assurance that we will be able to compete successfully with existing or new competitors. &#160;Increased competition could have a material adverse effect on our business, results of operations and financial condition.</p> <hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>4</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>We rely on sales to major customers.</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>Our sales to two customers constituted approximately 29% of our consolidated revenues in 2022. &#160;Sales to TI Group Automotive Systems, LLC and Cooper-Standard Holdings Inc. accounted for approximately 15% and 14% of the Company's consolidated revenues in 2022, respectively. &#160;The loss of any significant portion of our sales to these customers could have a material adverse effect on our business, results of operations and financial condition.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>We are subject to risks related to export sales.</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>Our export sales have increased in recent years, and we are working to continue to expand our business relationships with customers outside of the United States.&#160; Export sales are subject to various risks, including risks related to changes in local economic, social and political conditions (particularly in emerging markets), changes in tariffs and trade policies and foreign currency exchange rate fluctuations, which could have a material adverse effect on our business, results of operations and financial condition.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>Increases in our raw material costs or difficulties with our suppliers could negatively affect us.</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>While we currently maintain alternative sources for raw materials, our business is subject to the risk of price fluctuations and periodic delays in the delivery of certain raw materials. &#160;At various times in recent years, we have been adversely impacted by increased costs for steel, our principal raw material, which we have been unable to wholly mitigate, as well as increases in other materials prices, including price increases due to inflation. &#160;Any continued fluctuation in the price or availability of our raw materials could have a material adverse impact on our business, results of operations and financial condition.</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>We may be adversely affected by supply chain disruptions.</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:11pt Arial;margin:0;text-indent:36pt'>Many of our customers depend upon intricate just-in-time supply chain systems. &#160;A disruption in a supply chain caused by one or more suppliers, and/or an unrelated supplier, due to part shortages, work stoppages, bankruptcy, raw material shortages, natural disasters, coronavirus, tariffs, etc. could adversely impact our business, or our customers&#8217; business, which could have a material adverse effect on our results of operations and financial condition. </p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>We may be adversely affected by labor relations issues.</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>Although none of our employees are unionized, the domestic automakers and many of their suppliers, including many of our customers, have unionized work forces. &#160;Work stoppages or slow-downs experienced by automakers or their suppliers could result in slow-downs or closures of assembly plants where our products are included in assembled components. &#160;In the event that one or more of our customers or their customers experiences a material labor relations issue, our business, results of operations and financial condition could be materially adversely affected.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>We may incur losses as a result of product liability, warranty or other claims that may be brought against us.</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>We face risk of exposure to warranty and product liability claims in the event that our products fail to perform as expected or result, or are alleged to have resulted, in bodily injury, property damage or other losses. &#160;In addition, if any of our products are or are alleged to be defective, then we may be required to participate in a product recall. &#160;We may also be involved from time to time in legal proceedings and commercial or contractual disputes. &#160;Any losses or other liabilities related to these exposures could have a material adverse effect on our business, results of operations and financial condition.</p> <hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>5</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>We could be adversely impacted by environmental laws and regulations.</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>Our operations are subject to environmental laws and regulations. &#160;Currently, environmental costs and liabilities with respect to our operations are not material, but there can be no assurance that we will not be adversely impacted by these costs and liabilities in the future either under present laws and regulations or those that may be adopted or imposed in the future.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>We could be adversely impacted by the loss of the services of key employees</b>.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>Successful operations depend, in part, upon the efforts of executive officers and other key employees. &#160;Our future success will depend, in part, upon our ability to attract and retain qualified personnel. &#160;Loss of the services of any of our key employees, or the inability to attract or retain employees could have a material adverse affect upon our business, financial condition and results of operations.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'><b>Any significant disruption, interruption or failure of our information systems could disrupt the operation of our business, result in increased costs and decreased revenues and expose us to liability.</b></p> <p style='font:10pt Arial;margin:0;text-align:justify'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'><kbd style='margin-left:36pt'></kbd>Cybersecurity threats are growing in number and sophistication and include, among others, malicious software, attempts to gain unauthorized access to data, and other electronic security breaches that could lead to disruptions in critical systems, unauthorized release of confidential or otherwise protected information and corruption of data.&#160;In addition to security threats, we are also subject to other systems failures, including network, software or hardware failures, whether caused by us, third-party service providers, natural disasters, power shortages, terrorist attacks or other events. The unavailability of our information systems, the failure of these systems to perform as anticipated or any significant breach of data security could cause loss of data, disrupt our operations, lead to financial losses from remedial actions, require significant management attention and resources, and negatively impact our reputation among our customers, which could have a negative impact on our business, results of operations and financial condition.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>The price of our common stock is subject to volatility, and our stock is thinly-traded.</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>Various factors, such as general economic changes in the financial markets, announcements or significant developments with respect to the automotive industry, actual or anticipated variations in our or our competitors&#8217; quarterly or annual financial results, the introduction of new products or technologies by us or our competitors, changes in other conditions or trends in our industry or in the markets of any of our significant customers, changes in governmental regulation, or changes in securities analysts&#8217; estimates of our competitors or our industry, could cause the market price of our common stock to fluctuate substantially. &#160;&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>Our common stock is traded on NYSE American (not registered, trading privileges only). &#160;The average daily trading volume for our common stock during 2022 was less than 3,000 shares per day. &#160;As a result, shares of our common stock may be difficult to sell, and the price of our common stock may vary significantly based on trading volume.&#160;</p> <hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>6</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <a id='a5'></a><p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 1B </b><b>-</b><b> Unresolved Staff Comments</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>None.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <a id='a6'></a><p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 2 - Properties</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>The Company's headquarters is located in Naperville, Illinois. &#160;The Company conducts its manufacturing and warehousing operations at three additional facilities. &#160;The Naperville property was sold during the third quarter of 2022 and was rented for the remainder of the year. &#160;Each other facility is owned by the Company and considered suitable and adequate for its present use.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>Of the properties described below, the Madison Heights, Michigan facility is used entirely in the fastener segment. &#160;The Albia, Iowa facility is used exclusively in the assembly equipment segment. &#160;The Tyrone, Pennsylvania and the Naperville, Illinois facilities are utilized in both operating segments.</p> <p style='font:10pt Arial;margin:0'> &#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td valign='bottom' style='width:136.8pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:255.35pt'><p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'>Plant Locations and Descriptions</span></p> </td></tr>
<tr>
<td valign='bottom' style='width:136.8pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:255.35pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='top' style='width:136.8pt'><p style='font:10pt Arial;margin:0'>Naperville, Illinois</p> </td>
<td valign='bottom' style='width:255.35pt'><p style='font:10pt Arial;margin:0'>Brick, concrete block and partial<br/>metal construction with metal roof.</p> </td></tr>
<tr>
<td valign='bottom' style='width:136.8pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:255.35pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='top' style='width:136.8pt'><p style='font:10pt Arial;margin:0'>Tyrone, Pennsylvania</p> </td>
<td valign='bottom' style='width:255.35pt'><p style='font:10pt Arial;margin:0'>Concrete block with small tapered<br/>beam type warehouse.</p> </td></tr>
<tr>
<td valign='bottom' style='width:136.8pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:255.35pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='top' style='width:136.8pt'><p style='font:10pt Arial;margin:0'>Albia, Iowa</p> </td>
<td valign='bottom' style='width:255.35pt'><p style='font:10pt Arial;margin:0'>Concrete block with prestressed<br/>concrete roof construction.</p> </td></tr>
<tr>
<td valign='bottom' style='width:136.8pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:255.35pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='top' style='width:136.8pt'><p style='font:10pt Arial;margin:0'>Madison Heights, Michigan</p> </td>
<td valign='bottom' style='width:255.35pt'><p style='font:10pt Arial;margin:0'>Concrete, brick and partial metal<br/>construction with metal roof.</p> </td></tr> </table> <p style='font:10pt Arial;margin:0;text-align:justify'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <a id='a7'></a><p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 3 - Legal Proceedings</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>The Company is, from time to time involved in litigation, including environmental claims, in the normal course of business. &#160;While it is not possible at this time to establish the ultimate amount of liability with respect to contingent liabilities, including those related to legal proceedings, management is of the opinion that the aggregate amount of any such liabilities, for which provision has not been made, will not have a material adverse effect on the Company's financial position.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <a id='a8'></a><p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 4 </b><b>-</b><b> Mine Safety Disclosures</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>Not applicable.</p> <hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>7</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:144pt'>&#160;</p> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'>Information about our Executive Officers</span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'> &#160;&#160;&#160;The names, ages and positions of all executive officers of the Company, as of March 15, 2023, are listed below. &#160;Officers are elected annually by the Board of Directors at the meeting of the directors immediately following the Annual Meeting of Shareholders. &#160;The Company&#8217;s bylaws provide that officers, when elected, shall hold office for the period of one year and thereafter until their respective successors shall have been duly elected, and shall have qualified (provided that officers shall be subject to removal at any time by the affirmative vote by a majority of the Board of Directors).</p> <p style='font:10pt Arial;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td valign='top' style='width:170.2pt'><p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'>Name and Age of Officer</span></p> </td>
<td valign='top' style='width:170.25pt'><p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Position</span></p> </td>
<td valign='bottom' style='width:93.6pt'><p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Years an Officer</span></p> </td></tr>
<tr style='height:1pt'>
<td valign='top' style='width:170.2pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:170.25pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:93.6pt'><p style='font:10pt Arial;margin:0;text-align:center'>&#160;</p> </td></tr>
<tr>
<td valign='top' style='width:170.2pt'><p style='font:10pt Arial;margin:0'>Michael J. Bourg &#160;&#160;&#160;&#160;60</p> </td>
<td valign='top' style='width:170.25pt'><p style='font:10pt Arial;margin:0'>President, Chief Operating Officer<br/> &#160;and Treasurer</p> </td>
<td valign='top' style='width:93.6pt'><p style='font:10pt Arial;margin:0;text-align:center'>24</p> </td></tr> </table> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:36pt'><kbd style='position:absolute;font:10pt Arial;margin-left:-36pt'>- </kbd>Mr. Bourg has been President, Chief Operating Officer and Treasurer of the Company since May 2006. &#160;Prior to that, he served in various executive roles since joining the Company in December 1998. &#160;He has been a director of the Company since May 2006.&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:-36pt;margin-left:36pt'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:36pt'><kbd style='position:absolute;font:10pt Arial;margin-left:-36pt'>-</kbd>Mr. Walter Morrissey was Chairman of the Board of Directors of the Company and Chief Executive Officer of the Company from May 2020 until he passed away in December 2022. &#160;He was a director of the Company from 1972.&#160;</p> <hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>8</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <p style='font:10pt Arial;margin:0;text-align:center'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b>PART II</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <a id='a9'></a><p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 5 - Market for Registrant's Common Equity, Related</b></span></p> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>Stockholder Matters and Issuer Purchases of Equity Securities</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The Company's common stock is traded on NYSE American (trading privileges only, not registered). &#160;As of March 3, 2023 there were approximately 130 shareholders of record of such stock.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>Under the terms of a stock repurchase authorization originally approved by the Board of Directors of the Company in February of 1990, as amended, the Company is authorized to repurchase up to an aggregate of 200,000 shares of its common stock, in the open market or in private transactions, at prices deemed reasonable by management. &#160;Cumulative purchases under the repurchase authorization have amounted to 162,996 shares at an average price of $15.66 per share. &#160;The Company has not purchased any shares of its common stock since 2002.<br/></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 6 </b><b>&#8211;</b><b> </b><b>[Reserved]</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <a id='a10'></a><p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 7 - Management's Discussion and Analysis of</b></span></p> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b> Financial Condition and Results of Operations</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>Forward-Looking Statements</b></p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'>This discussion contains certain &quot;forward-looking statements&quot; which are inherently subject to risks and uncertainties that may cause actual events to differ materially from those discussed herein. &#160;Factors which may cause such differences in events include those disclosed above under &#8220;Risk Factors&#8221; and elsewhere in this Form 10-K. &#160;As stated elsewhere in this filing, such factors include, among other things: risk related to the COVID-19 pandemic and its related adverse effects, conditions in the domestic automotive industry, upon which we rely for sales revenue, the intense competition in our markets, the concentration of our sales with major customers, risks related to export sales, the price and availability of raw materials, supply chain disruptions, labor relations issues, losses related to product liability, warranty and recall claims, costs relating to environmental laws and regulations, information systems disruptions and the loss of the services of our key employees. &#160;Many of these factors are beyond our ability to control or predict. &#160;Readers are cautioned not to place undue reliance on these forward-looking statements. &#160;We undertake no obligation to publish revised forward-looking statements to reflect events or circumstances after the date hereof or to reflect the occurrence of unanticipated events.</p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><b>RESULTS OF OPERATIONS </b></p> <p style='font:10pt Arial;margin:0;color:#000000'> &#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><kbd style='margin-left:37.5pt'></kbd>Operating results for 2022 did not meet our expectations. &#160;Net sales grew in the first half of the year, but stalled in the third quarter and declined in the fourth quarter as overall demand softened amid recessionary fears and rising interest rates. &#160;At the same time, we had difficulties meeting the requirements of certain customers due to staffing shortages. &#160;In addition, higher raw material prices and inflationary pressures also negatively impacted our margins. &#160;Fourth quarter sales were $6,857,154 compared to $7,749,488 in the fourth quarter of 2021, a decline of $892,334, or 11.5%. &#160;The decline in sales, combined with high raw material prices, record-high inflation and the tight labor market contributed to reporting a net loss in the fourth quarter of $1,312,648, or $1.36 per share, compared to net income of $81,178, or $0.08 per share, in the fourth quarter of 2021. &#160;For the full year, net sales were $33,646,033 compared to $33,974,558 in 2021, a decline of $328,525, or 1.0%. &#160;Net income for the full year was $2,867,629, or $2.97 per share, compared to $1,113,472, or $1.15 per share in 2021. &#160;The positive figure for 2022 includes a pre-tax gain on the sale of our Naperville, Illinois property of $4,738,394 that was reported in the third quarter.&#160;</p> <hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>9</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><b>2022 Compared to 2021</b></p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><kbd style='margin-left:36pt'></kbd>Fastener segment revenues were $6,272,480 in the fourth quarter of 2022 compared to $6,988,047 in the fourth quarter of 2021, a decline of $715,567, or 10.2%. &#160;We experienced a general slow-down in demand in the fourth quarter compared to earlier in the year, but at the same time, were unable to meet the requirements of certain automotive customers, where demand remained steady, due to insufficient production staff. &#160;During the quarter, sales to automotive customers increased fractionally to $4,185,600 from $4,163,004 in the year earlier quarter. &#160;That increase was more than offset by a decline in sales to non-automotive customers, which were $2,086,880 in the fourth quarter of 2022 compared to $2,825,043 a year earlier, a decline of $738,163, or 26.1%. &#160;The abrupt decline in sales and production challenges due to staffing shortages resulted in reporting a gross loss in the fourth quarter of $555,641 compared to gross profit of $1,072,310 in the year earlier quarter. &#160;Fastener segment revenues for the full year 2022 were $30,291,547 compared to $29,831,388 in 2021, an increase of $460,159, or 1.5%. &#160;For the full year 2022, sales to automotive customers were $18,454,238 compared to $17,573,104 in 2021, an increase of $881,134, or 5.0%. &#160;Sales to non-automotive customers in 2022 were $11,837,309 compared to $12,258,284 in 2021, a decline of $420,975, or 3.4%. &#160;The modest increase in fastener segment sales was more than offset by higher costs as raw material prices remained elevated and general inflation reached record levels. &#160;Difficulty achieving proper staffing further negatively impacted margins as operational efficiency suffered. &#160;As a result, gross margin for the fastener segment was $3,167,104 in 2022 compared to $5,185,956 in 2021.&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><kbd style='margin-left:37.5pt'></kbd>Assembly equipment segment revenues were $584,674 in the fourth quarter of 2022, compared to $761,441 in the fourth quarter of 2021, a decline of $176,767, or 23.2%. &#160;For the full year 2022, assembly equipment segment revenues were $3,354,486, compared to $4,143,170 reported in 2021, a decline of $788,684, or 19.0%. &#160;While the decline in sales was significant, it should be noted that 2021 assembly equipment sales were the highest annual total since 2007. &#160;The decline in sales, combined with high inflation and some delivery delays for machine parts, resulted in a gross loss of $51,543 for the fourth quarter of 2022 compared to a gross profit of $195,237 in the fourth quarter of 2021. &#160;For the full year 2022, assembly equipment segment gross margins declined to $648,220 from $1,279,136 in 2021.&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>Selling and administrative expenses were $4,992,521 in 2022 compared to $5,106,177 in 2021, a decrease of $113,656, or 2.2%. &#160;We incurred an increase in outside consulting of $42,498, primarily related to hiring fees to fill certain positions, and rent expense of approximately $33,387, primarily related to the lease agreement entered into upon the sale of the Naperville facility. &#160;These, and other smaller increases, were offset by a reduction in salaries of $135,714, related to positions that remained unfilled for an extended period of time during the year, and reductions in commissions and director fees of $44,126 and $43,739, respectively. &#160;The remaining net change relates to various smaller items. &#160;As a percentage of net sales, selling and administrative expenses were 14.8% in 2022 compared to 15.0% in 2021.</p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>As previously disclosed in a Current Report on Form 8-K filed on September 30, 2022, we sold our Naperville, Illinois facility in which the Company&#8217;s headquarters and warehouse space is located for a selling price of $5,350,000 in cash, less customary closing costs. &#160;Concurrently with the completion of the sale, the Company entered into a lease agreement with the purchaser pursuant to which the Company leased the warehouse portion of the Naperville facility from the purchaser until December 31, 2022 and will lease the office portion until June 30, 2023. &#160;The monthly rent payable by the Company under the Lease was $12,500 for the period from the closing until December 31, 2022 and is $8,500 for the period from January 1, 2023 to June 30, 2023. &#160;The sale was undertaken in order to take advantage of favorable market conditions and to reduce the occupancy space devoted to administrative functions.</p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><kbd style='margin-left:36pt'></kbd>Other income was $91,433 in 2022 compared to $55,557 in 2021. &#160;Other income is primarily comprised of interest income which increased during the year due to higher interest rates and greater invested balances.&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><kbd style='margin-left:36pt'></kbd>The Company&#8217;s effective income tax rates were 21.5% and 21.3% in 2022 and 2021, respectively.&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><b>DIVIDENDS</b></p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>In determining to pay dividends, the Board considers current profitability, the outlook for longer-term profitability, known and potential cash requirements and the overall financial condition of the Company. &#160;The Company paid four regular quarterly dividends in 2022 totaling $0.88 per share. &#160;On February 20, 2023, the Board of Directors declared a regular quarterly dividend of $0.22 per share, payable March 20, 2023 to shareholders of record on March 3, 2023. &#160;This continues the uninterrupted record of consecutive quarterly dividends paid by the Company to its shareholders that extends over 89 years.</p> <p style='font:10pt Arial;margin:0;color:#0000FF'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><b>PROPERTY, PLANT AND EQUIPMENT</b></p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>Total capital expenditures in 2022 were $969,943. &#160;Fastener segment additions accounted for $868,654 of the total, including $92,880 for cold heading and screw machine equipment, $208,028 for equipment to perform secondary operations and inspection of parts and $215,540 for general plant equipment. The remaining $352,206 of fastener segment additions related to building improvements. &#160;Assembly equipment segment additions in 2022 were $3,207 for IT equipment. &#160;Investments for the benefit of both operating segments, primarily for building improvements, totaled $98,082 during 2022.</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>Capital expenditures during 2021 were $670,898. &#160;Of the total, $493,564 related to fastener segment activities, including cold heading equipment additions of $62,600, secondary processing equipment of $360,588 and general plant equipment additions of $70,376. &#160;Additional investments of $177,334 were made in 2021 for facilities improvements that benefit both the assembly equipment segment and the fastener segment.</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>Depreciation expense was $1,279,870 in 2022 and $1,318,554 in 2021.</p> <hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>10</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <p style='font:10pt Arial;margin:0;color:#0000FF'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><b>LIQUIDITY AND CAPITAL RESOURCES</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>Working capital at December 31, 2022 was $20,073,089, an increase of $2,651,504 from the beginning of the year. &#160;The improvement was primarily due to the gain realized on the sale of our Naperville property during the third quarter. While working capital also improved due to a decline in net accounts receivable during the year of $672,847, an increase in inventory of $601,450, due to higher material prices and elevated quantities on hand to minimize supply disruptions, and a $585,190 increase in other current assets, had a negative impact on working capital. &#160;The Company&#8217;s investing activities in 2022 included the proceeds from the sale of property and equipment of $5,043,240 and the net maturities of certificates of deposit of $50,000 less capital expenditures of $969,943. &#160;The only financing activity during 2022 was the payment of $850,196 in dividends. &#160;These changes and other cash flow activity resulted in a balance of cash, cash equivalents and certificates of deposit of $6,736,101 at the end of 2022 compared to $4,777,954 as of the beginning of the year.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>Management believes that current cash, cash equivalents and operating cash flow will be sufficient to provide adequate working capital for the next twelve months.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>Off-Balance Sheet Arrangements</b></p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>The Company has not entered into, and has no current plans to enter into, any off-balance sheet financing arrangements. </p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#0000FF'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><b>CRITICAL ACCOUNTING POLICIES AND ESTIMATES</b></p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>The preparation of financial statements and related disclosures in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the financial statements and the amounts of revenue and expenses during the reporting period. &#160;We base our estimates and assumptions on historical experience, current trends and on various other assumptions that are believed to be reasonable under the circumstances. &#160;We evaluate our estimates and judgments required by our policies on an ongoing basis and update them as appropriate based on changing conditions. &#160;A summary of critical accounting policies can be found in Note 1 of the financial statements.</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>Critical accounting estimates are those that require application of management&#8217;s most difficult, subjective or complex judgments, often as a result of matters that are inherently uncertain and may change in subsequent periods. &#160;We have reviewed our accounting estimates, and none were deemed to be considered critical for the accounting periods presented. &#160;While we apply our judgment based on assumptions believed to be reasonable under the circumstances, actual results could vary from these assumptions. Additionally, future facts and circumstances could change and impact our estimates and assumptions.</p> <hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>11</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><b>NEW ACCOUNTING STANDARDS</b></p> <p style='font:10pt Arial;margin:0;color:#000000'> &#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><kbd style='margin-left:36pt'></kbd>The Company&#8217;s financial statements and financial condition were not, and are not expected to be, materially impacted by new, or proposed, accounting standards. &#160;A summary of recent accounting pronouncements can be found in Note 1 of the financial statements.&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000;text-align:justify'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000;text-align:justify'><b>OUTLOOK FOR 2023</b></p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>Operating results for 2022 were negatively impacted by numerous factors. &#160;Although demand early in the year was steady for both the fastener segment and the assembly equipment segment, as the year progressed, we experienced a softening in demand which led to a significant drop in sales in the fourth quarter. &#160;The tight labor market made maintaining an optimal workforce difficult and those challenges intensified as the year progressed. &#160;We endured extended periods where important positions remained unfilled, resulting in inefficiencies and higher costs. &#160;We are committed to overcoming these challenges as part of an overall strategic review that is underway and have made investments in the new year in an effort to address the challenges of maintaining efficient operations with a smaller, less experienced workforce. We are also reviewing, and seeking to adjust, our pricing in light of higher operating costs related to the current economic and labor market environment. &#160;As always, we will continue to look for additional areas for improvement while pursuing opportunities to increase sales by emphasizing value over price and focusing on our abilities to make more complex parts for which our experience, quality and service are important factors in purchasing decisions. </p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>We were saddened to report the passing of Walter W. Morrissey in December 2022. &#160;Mr. Morrissey had served as a Director of the Company since 1972 and as Chairman of the Board and Chief Executive Officer since May 2020. &#160;His contributions to the success of the Company over the years will be missed. &#160;Director James W. Morrissey was named non-executive Chairman of the Board until the Annual Meeting of Shareholders on May 9, 2023. &#160;The search for a new Chief Executive Officer is currently underway.</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;color:#000000'>Notwithstanding the difficult environment we are operating in, we believe that our sound financial condition and long history of success in a variety of challenging circumstances will provide the basis for improved operating activities in the future. &#160;We increased our capital expenditures in 2022 over the previous year and expect to make further investments in 2023. &#160;We will also continue our efforts to develop new customer relationships and build on existing ones in all the markets we serve by emphasizing our experience, quality and customer service in a very competitive global marketplace. &#160;We are grateful for the contributions of our dedicated employees in what was a uniquely challenging year as well as for the loyalty of our customers and the support of our shareholders.</p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <a id='a11'></a><p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 7A </b><b>-</b><b> Quantitative and Qualitative Disclosures About Market Risk</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>As a Smaller Reporting Company as defined in Rule 12b-2 under the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;) and in item 10(f)(1) of Regulation S-K, we are electing scaled disclosure reporting obligations with respect to this item and therefore are not required to provide the information requested by this Item 7A.</p> <hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>12</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <a id='a12'></a><p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 8 - Financial Statements and Supplementary Data</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>CONSOLIDATED FINANCIAL STATEMENTS</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:9pt Arial;margin:0'>&#160;</p> <p style='font:9pt Arial;margin:0'>Report of Independent Registered Public Accounting Firm (PCAOB ID: <ix:nonNumeric name='dei:AuditorFirmId' contextRef='Y22' escape='true'>173</ix:nonNumeric>)</p> <p style='font:10pt Arial;margin:0;margin-right:-13.5pt'>&#160;</p> <p style='font:9pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a38' style='text-decoration:none'>Consolidated Balance Sheets</a></span></p> <p style='font:9pt Arial;margin:0'>&#160;</p> <p style='font:9pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a39' style='text-decoration:none'>Consolidated Statements of Income</a></span></p> <p style='font:9pt Arial;margin:0'>&#160;</p> <p style='font:9pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a40' style='text-decoration:none'>Consolidated Statements of Shareholders&#8217; Equity</a></span></p> <p style='font:9pt Arial;margin:0'>&#160;</p> <p style='font:9pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a41' style='text-decoration:none'>Consolidated Statements of Cash Flows</a></span></p> <p style='font:9pt Arial;margin:0'>&#160;</p> <p style='font:9pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a42' style='text-decoration:none'>Notes to Consolidated Financial Statements</a></span></p> <hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>13</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:14pt Arial;margin:0'><b>Report of Independent Registered Public Accounting Firm</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'>Shareholders and the Board of Directors of Chicago Rivet &amp; Machine Co.</p> <p style='font:10pt Arial;margin:0;text-align:justify'>Naperville, Illinois</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>Opinion on the Financial Statements</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'>We have audited the accompanying consolidated balance sheets of Chicago Rivet &amp; Machine Co. (the &quot;Company&quot;) as of December 31, 2022 and 2021, the related consolidated statements of income, shareholders&#8217; equity, and cash flows for the years then ended, and the related notes (collectively referred to as the &quot;financial statements&quot;). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2022 and 2021, and the results of its operations and its cash flows for the years then ended, in conformity with accounting principles generally accepted in the United States of America.</p> <p style='font:10pt Arial;margin:0;text-align:justify'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>Basis for Opinion</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'>These financial statements are the responsibility of the Company's management. Our responsibility is to express an opinion on the Company's financial statements based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United States) (&quot;PCAOB&quot;) and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB. </p> <p style='font:10pt Arial;margin:0;text-align:justify'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'>We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. The Company is not required to have, nor were we engaged to perform, an audit of its internal control over financial reporting. As part of our audits we are required to obtain an understanding of internal control over financial reporting but not for the purpose of expressing an opinion on the effectiveness of the Company's internal control over financial reporting. Accordingly, we express no such opinion.</p> <p style='font:10pt Arial;margin:0;text-align:justify'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'>Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>Critical Audit Matters</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'>Critical audit matters are matters arising from the current period audit of the financial statements that were communicated or required to be communicated to the audit committee and that: (1) relate to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective, or complex judgments. We determined that there are no critical audit matters.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>/<ix:nonNumeric name='dei:AuditorName' contextRef='Y22' escape='true'>Crowe LLP</ix:nonNumeric>/</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>We have served as the Company's auditor since 2014.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><ix:nonNumeric name='dei:AuditorLocation' contextRef='Y22' escape='true'>Oak Brook, Illinois</ix:nonNumeric></p> <p style='font:10pt Arial;margin:0'>March 29, 2023</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>14</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <a id='a38'></a><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td colspan='4' valign='bottom' style='background-color:#CEE7FF;width:540pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'>CHICAGO RIVET &amp; MACHINE CO.</p> </td></tr>
<tr>
<td colspan='4' valign='bottom' style='width:540pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'>Consolidated Balance Sheets</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:center'><b>December 31, 2022</b></p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:center'>December 31, 2021</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'>Assets</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'><b>&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'><b>&#160;</b></p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Current Assets</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Cash and Cash Equivalents</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:CashAndCashEquivalentsAtCarryingValue' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,045,101</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;<ix:nonFraction name='us-gaap:CashAndCashEquivalentsAtCarryingValue' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,036,954</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Certificates of Deposit</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:CertificatesOfDepositAtCarryingValue' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,691,000</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CertificatesOfDepositAtCarryingValue' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,741,000</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000'> &#160;Accounts Receivable - Less allowances of $160,000 and $170,000, respectively</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:AccountsReceivableNetCurrent' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,975,137</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccountsReceivableNetCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,647,984</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Inventories, net</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:InventoryNet' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>9,121,230</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryNet' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>8,519,780</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Prepaid Income Taxes</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:PrepaidTaxes' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>509,119</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PrepaidTaxes' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>440</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Other Current Assets</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:OtherAssetsCurrent' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>422,747</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherAssetsCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>346,236</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Total Current Assets</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:AssetsCurrent' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>21,764,334</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AssetsCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>19,292,394</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Property, Plant and Equipment, net</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>11,861,793</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>12,473,864</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Total Assets</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b>$ &#160;&#160;<ix:nonFraction name='us-gaap:Assets' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>33,626,127</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:Assets' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>31,766,258</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'>Liabilities and Shareholders' Equity</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Current Liabilities</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Accounts Payable</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:AccountsPayableCurrent' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>697,235</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:AccountsPayableCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>692,635</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Accrued Wages and Salaries</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:EmployeeRelatedLiabilitiesCurrent' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>462,332</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EmployeeRelatedLiabilitiesCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>509,332</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Other Accrued Expenses</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:AccruedLiabilitiesCurrent' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>327,961</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccruedLiabilitiesCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>366,418</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Unearned Revenue and Customer Deposits</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:CustomerAdvancesAndDepositsCurrent' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>203,717</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CustomerAdvancesAndDepositsCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>302,424</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Total Current Liabilities</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:LiabilitiesCurrent' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,691,245</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:LiabilitiesCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,870,809</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Deferred Income Taxes, net </p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:DeferredIncomeTaxLiabilitiesNet' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>948,084</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredIncomeTaxLiabilitiesNet' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>926,084</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Total Liabilities</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:Liabilities' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,639,329</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Liabilities' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,796,893</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Commitments and Contingencies (Note 8)</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Shareholders' Equity</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;Preferred Stock, <ix:nonFraction name='us-gaap:PreferredStockParOrStatedValuePerShare' contextRef='E22' unitRef='UsdPerShare' decimals='INF' format='ixt-sec:numwordsen'><ix:nonFraction name='us-gaap:PreferredStockParOrStatedValuePerShare' contextRef='E21' unitRef='UsdPerShare' decimals='INF' format='ixt-sec:numwordsen'>No</ix:nonFraction></ix:nonFraction> Par Value, <ix:nonFraction name='us-gaap:PreferredStockSharesAuthorized' contextRef='E22' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:PreferredStockSharesAuthorized' contextRef='E21' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>500,000</ix:nonFraction></ix:nonFraction> Shares Authorized: <ix:nonFraction name='us-gaap:PreferredStockSharesOutstanding' contextRef='E22' unitRef='Shares' decimals='INF' format='ixt-sec:numwordsen'><ix:nonFraction name='us-gaap:PreferredStockSharesOutstanding' contextRef='E21' unitRef='Shares' decimals='INF' format='ixt-sec:numwordsen'>None</ix:nonFraction></ix:nonFraction> Outstanding</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:PreferredStockValue' contextRef='E22' unitRef='USD' decimals='128' format='ixt:zerodash'>-</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PreferredStockValue' contextRef='E21' unitRef='USD' decimals='128' format='ixt:zerodash'>-</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'><span style='color:#00B050'> &#160;&#160;&#160;</span>Common Stock, $<ix:nonFraction name='us-gaap:CommonStockParOrStatedValuePerShare' contextRef='E22' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:CommonStockParOrStatedValuePerShare' contextRef='E21' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>1.00</ix:nonFraction></ix:nonFraction> Par Value, <ix:nonFraction name='us-gaap:CommonStockSharesAuthorized' contextRef='E22' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:CommonStockSharesAuthorized' contextRef='E21' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,000,000</ix:nonFraction></ix:nonFraction> Shares Authorized: <ix:nonFraction name='us-gaap:CommonStockSharesIssued' contextRef='E22' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:CommonStockSharesIssued' contextRef='E21' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,138,096</ix:nonFraction></ix:nonFraction> Shares Issued, <ix:nonFraction name='us-gaap:CommonStockSharesOutstanding' contextRef='E22' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:CommonStockSharesOutstanding' contextRef='E21' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction></ix:nonFraction><span style='color:#0070C0'> </span>Shares Outstanding</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:CommonStockValueOutstanding' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,138,096</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CommonStockValueOutstanding' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,138,096</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;Additional Paid-in Capital</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:AdditionalPaidInCapital' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>447,134</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AdditionalPaidInCapital' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>447,134</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;Retained Earnings</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:RetainedEarningsAccumulatedDeficit' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>33,323,666</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RetainedEarningsAccumulatedDeficit' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>31,306,233</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;Treasury Stock, 171,964 Shares at cost</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:TreasuryStockValue' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,922,098</ix:nonFraction>)&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:TreasuryStockValue' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,922,098</ix:nonFraction>)&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Total Shareholders' Equity</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>30,986,798</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>28,969,365</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Total Liabilities and Shareholders' Equity</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b>$ &#160;&#160;<ix:nonFraction name='us-gaap:LiabilitiesAndStockholdersEquity' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>33,626,127</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:LiabilitiesAndStockholdersEquity' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>31,766,258</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:459pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>The accompanying notes are an integral part of the Consolidated Financial Statements.</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr> </table> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>15</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <p style='font:10pt Courier New;margin:0'>&#160;</p> <a id='a39'></a><p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td colspan='4' valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'>CHICAGO RIVET &amp; MACHINE CO.</p> </td></tr>
<tr>
<td colspan='4' valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'>Consolidated Statements of Income</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:36.45pt'>
<td valign='bottom' style='width:229.5pt;padding-left:2pt;padding-right:2pt'></td>
<td valign='bottom' style='width:75.75pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:center'><b>Year Ended December 31, 2022</b></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.2pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:center'>Year Ended December 31, 2021</p> </td></tr>
<tr style='height:14.4pt'>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Net Sales</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b>$ &#160;&#160;&#160;<ix:nonFraction name='us-gaap:Revenues' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>33,646,033</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;<ix:nonFraction name='us-gaap:Revenues' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>33,974,558</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Cost of Goods Sold </p> </td>
<td valign='bottom' style='width:75.75pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:CostOfRevenue' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>29,830,710</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.2pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CostOfRevenue' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>27,509,466</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Gross Profit</p> </td>
<td valign='bottom' style='width:75.75pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:GrossProfit' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,815,323</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.2pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GrossProfit' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>6,465,092</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr style='height:7.2pt'>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Operating (Income) Expenses:</p> </td>
<td valign='bottom' style='width:75.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Selling and Administrative Expenses</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:SellingGeneralAndAdministrativeExpense' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,992,521</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:SellingGeneralAndAdministrativeExpense' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,106,177</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Gain on Sale of Property</p> </td>
<td valign='bottom' style='width:75.75pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:GainLossOnSaleOfPropertyPlantEquipment' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,738,394</ix:nonFraction>)&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.2pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GainLossOnSaleOfPropertyPlantEquipment' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;Total Operating Expenses</p> </td>
<td valign='bottom' style='width:75.75pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:OperatingExpenses' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>254,127</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.2pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OperatingExpenses' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,106,177</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Operating Profit</p> </td>
<td valign='bottom' style='width:75.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:OperatingIncomeLoss' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,561,196</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OperatingIncomeLoss' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,358,915</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr style='height:10.8pt'>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Other Income</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:OtherNonoperatingIncomeExpense' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>91,433</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherNonoperatingIncomeExpense' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>55,557</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.75pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.2pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Income Before Income Taxes</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,652,629</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,414,472</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Provision for Income Taxes</p> </td>
<td valign='bottom' style='width:75.75pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:IncomeTaxExpenseBenefit' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>785,000</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.2pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeTaxExpenseBenefit' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>301,000</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Net Income</p> </td>
<td valign='bottom' style='width:75.75pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b>$ &#160;&#160;&#160;<ix:nonFraction name='us-gaap:NetIncomeLoss' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,867,629</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.2pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;<ix:nonFraction name='us-gaap:NetIncomeLoss' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,113,472</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000'><p style='font:9pt Arial;margin:0'><b>&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Per Share Data:</p> </td>
<td valign='bottom' style='width:75.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:14.4pt'>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Basic net income per share</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'><b>&#160;$ &#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;<ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsPerBasicShare' contextRef='Y22' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>2.97</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;$ &#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;<ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsPerBasicShare' contextRef='Y21' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>1.15</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Diluted net income per share</p> </td>
<td valign='bottom' style='width:75.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'><b>&#160;$ &#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;<ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare' contextRef='Y22' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>2.97</ix:nonFraction></b></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;$ &#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;<ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare' contextRef='Y21' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>1.15</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Weighted Average Common Shares Outstanding:</p> </td>
<td valign='bottom' style='width:75.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:14.4pt'>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Basic</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160; &#160;&#160;&#160;<ix:nonFraction name='us-gaap:WeightedAverageNumberOfSharesOutstandingBasic' contextRef='Y22' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;&#160;&#160;&#160; &#160; &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:WeightedAverageNumberOfSharesOutstandingBasic' contextRef='Y21' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Diluted</p> </td>
<td valign='bottom' style='width:75.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;&#160;&#160; &#160;&#160; &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding' contextRef='Y22' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160; &#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding' contextRef='Y21' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Cash Dividends Declared Per Share</p> </td>
<td valign='bottom' style='width:75.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'><b>&#160;$ &#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;<ix:nonFraction name='us-gaap:CommonStockDividendsPerShareDeclared' contextRef='Y22' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.88</ix:nonFraction></b></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;$ &#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;<ix:nonFraction name='us-gaap:CommonStockDividendsPerShareDeclared' contextRef='Y21' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.88</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td colspan='4' valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>The accompanying notes are an integral part of the Consolidated Financial Statements.</p> </td></tr> </table> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>16</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <p style='font:10pt Courier New;margin:0'>&#160;</p> <a id='a40'></a><p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:9pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'>
<tr style='height:6.9pt'>
<td colspan='9' valign='bottom' style='background-color:#CEE7FF;width:100%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:center'>CHICAGO RIVET &amp; MACHINE CO.</p> </td></tr>
<tr style='height:6.9pt'>
<td colspan='9' valign='bottom' style='width:100%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:center'>Consolidated Statements of Shareholders&#8217; Equity</p> </td></tr>
<tr style='height:6.9pt'>
<td valign='top' style='background-color:#CEE7FF;width:20.58%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:7.76%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:9.06%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:10.62%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:11.78%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:7.9%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:12.36%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:6.9pt'>
<td valign='bottom' style='width:20.58%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:7.76%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:19.68%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:center'>Common Stock</p> </td>
<td valign='top' style='width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:11.78%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:17.86%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:center'>Treasury Stock, At Cost</p> </td>
<td valign='top' style='width:12.36%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:6.9pt'>
<td valign='bottom' style='background-color:#CEE7FF;width:20.58%;padding-left:5.75pt;padding-right:5.75pt'></td>
<td valign='bottom' style='background-color:#CEE7FF;width:7.76%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Preferred Stock</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.06%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Shares</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:10.62%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Amount</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Additional Paid-In Capital</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:11.78%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Retained Earnings</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:7.9%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Shares</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Amount</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:12.36%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Total Shareholders&#8217; Equity</span></p> </td></tr>
<tr style='height:6.9pt'>
<td valign='top' style='width:20.58%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:7.76%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:9.06%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:10.62%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:11.78%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:7.9%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:12.36%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:10.8pt'>
<td valign='bottom' style='background-color:#CEE7FF;width:20.58%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>Balance, December 31, 2020</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:7.76%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ <ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E20_StEqComps-PrefStock' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.06%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CommonStockSharesOutstanding' contextRef='E20_StEqComps-CommonStock' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:10.62%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E20_StEqComps-CommonStock' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,138,096</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E20_StEqComps-AddPaidInCap' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>447,134</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:11.78%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E20_StEqComps-RetainedEarnings' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>31,042,957</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:7.9%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:TreasuryStockShares' contextRef='E20_StEqComps-TreasuryStock' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>171,964</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;(<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E20_StEqComps-TreasuryStock' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,922,098</ix:nonFraction>)</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:12.36%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>28,706,089</ix:nonFraction></p> </td></tr>
<tr style='height:10.8pt'>
<td valign='bottom' style='width:20.58%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>Net Income</p> </td>
<td valign='bottom' style='width:7.76%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:9.06%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:10.62%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:11.78%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:NetIncomeLoss' contextRef='Y21_StEqComps-RetainedEarnings' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,113,472</ix:nonFraction></p> </td>
<td valign='bottom' style='width:7.9%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:12.36%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:NetIncomeLoss' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,113,472</ix:nonFraction></p> </td></tr>
<tr style='height:10.8pt'>
<td valign='bottom' style='background-color:#CEE7FF;width:20.58%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>Dividends Declared ($<ix:nonFraction name='us-gaap:CommonStockDividendsPerShareDeclared' contextRef='Y21' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.88</ix:nonFraction> per share)</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:7.76%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.06%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:10.62%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:11.78%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:Dividends' contextRef='Y21_StEqComps-RetainedEarnings' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>850,196</ix:nonFraction>)</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:7.9%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:12.36%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:Dividends' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>850,196</ix:nonFraction>)</p> </td></tr>
<tr style='height:10.8pt'>
<td valign='bottom' style='width:20.58%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>Balance, December 31, 2021</p> </td>
<td valign='bottom' style='width:7.76%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ <ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E21_StEqComps-PrefStock' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='width:9.06%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CommonStockSharesOutstanding' contextRef='E21_StEqComps-CommonStock' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction></p> </td>
<td valign='bottom' style='width:10.62%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ <ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E21_StEqComps-CommonStock' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,138,096</ix:nonFraction></p> </td>
<td valign='bottom' style='width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E21_StEqComps-AddPaidInCap' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>447,134</ix:nonFraction></p> </td>
<td valign='bottom' style='width:11.78%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E21_StEqComps-RetainedEarnings' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>31,306,233</ix:nonFraction></p> </td>
<td valign='bottom' style='width:7.9%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:TreasuryStockShares' contextRef='E21_StEqComps-TreasuryStock' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>171,964</ix:nonFraction></p> </td>
<td valign='bottom' style='width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;(<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E21_StEqComps-TreasuryStock' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,922,098</ix:nonFraction>)</p> </td>
<td valign='bottom' style='width:12.36%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>28,969,365</ix:nonFraction></p> </td></tr>
<tr style='height:10.8pt'>
<td valign='bottom' style='background-color:#CEE7FF;width:20.58%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>Net Income</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:7.76%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.06%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:10.62%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:11.78%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:NetIncomeLoss' contextRef='Y22_StEqComps-RetainedEarnings' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,867,629</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:7.9%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:12.36%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:NetIncomeLoss' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,867,629</ix:nonFraction></p> </td></tr>
<tr style='height:10.8pt'>
<td valign='bottom' style='width:20.58%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>Dividends Declared ($<ix:nonFraction name='us-gaap:CommonStockDividendsPerShareDeclared' contextRef='Y22' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.88</ix:nonFraction> per share)</p> </td>
<td valign='bottom' style='width:7.76%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:9.06%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:10.62%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:11.78%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:Dividends' contextRef='Y22_StEqComps-RetainedEarnings' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>850,196</ix:nonFraction>)</p> </td>
<td valign='bottom' style='width:7.9%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:12.36%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:Dividends' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>850,196</ix:nonFraction>)</p> </td></tr>
<tr style='height:10.8pt'>
<td valign='bottom' style='background-color:#CEE7FF;width:20.58%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:9pt Arial;margin:0'>Balance, December 31, 2022</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:7.76%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b>$ <ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E22_StEqComps-PrefStock' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.06%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:CommonStockSharesOutstanding' contextRef='E22_StEqComps-CommonStock' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:10.62%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b>$ <ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E22_StEqComps-CommonStock' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,138,096</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b>$ &#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E22_StEqComps-AddPaidInCap' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>447,134</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:11.78%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b>$ &#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E22_StEqComps-RetainedEarnings' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>33,323,666</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:7.9%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:TreasuryStockShares' contextRef='E22_StEqComps-TreasuryStock' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>171,964</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b>$ &#160;(<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E22_StEqComps-TreasuryStock' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,922,098</ix:nonFraction>)</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:12.36%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b>$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>30,986,798</ix:nonFraction></b></p> </td></tr>
<tr style='height:6.9pt'>
<td valign='top' style='width:20.58%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:7.76%;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:9.06%;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:10.62%;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:11.78%;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:7.9%;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:12.36%;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000'><p style='font:6pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:6.9pt'>
<td valign='top' style='background-color:#CEE7FF;width:20.58%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:7.76%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:9.06%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:10.62%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:11.78%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:7.9%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:12.36%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:6.9pt'>
<td colspan='9' valign='top' style='width:100%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:6pt Arial;margin:0'><span style='font-size:9pt'>The accompanying notes are an integral part of the Consolidated Financial Statements.</span></p> </td></tr> </table> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>17</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <p style='font:10pt Courier New;margin:0'>&#160;</p> <a id='a41'></a><p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td colspan='4' valign='bottom' style='background-color:#CEE7FF;width:437.85pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'>CHICAGO RIVET &amp; MACHINE CO.</p> </td></tr>
<tr>
<td colspan='4' valign='bottom' style='width:437.85pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'>Consolidated Statements of Cash Flows</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:37.8pt'>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:center'><b>Year Ended December 31, 2022</b></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:center'>Year Ended December 31, 2021</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Cash Flows from Operating Activities:</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'><b>&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Net Income</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:NetIncomeLoss' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,867,629</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:NetIncomeLoss' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,113,472</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Adjustments to Reconcile Net Income to Net Cash Used in Operating Activities: </p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Depreciation and Amortization</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:Depreciation' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,279,870</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Depreciation' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,318,554</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;(Gain) Loss on the Sale of Property and Equipment</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:GainLossOnDispositionOfAssets' contextRef='Y22' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,741,096</ix:nonFraction>)&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GainLossOnDispositionOfAssets' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>21,564</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'><span style='color:#833C0B'> &#160;</span>Deferred Income Taxes</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:DeferredIncomeTaxExpenseBenefit' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>22,000</ix:nonFraction>&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:DeferredIncomeTaxExpenseBenefit' contextRef='Y21' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>85,000</ix:nonFraction>)&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'><span style='color:#00B0F0'> &#160;</span>Changes in Operating Assets and Liabilities:</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;Accounts Receivable, net</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:IncreaseDecreaseInAccountsReceivable' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>672,847</ix:nonFraction>&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInAccountsReceivable' contextRef='Y21' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>484,534</ix:nonFraction>)&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'><span style='color:#833C0B'> &#160;&#160;&#160;</span>Inventories, net</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInInventories' contextRef='Y22' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>601,450</ix:nonFraction>)&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInInventories' contextRef='Y21' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,366,486</ix:nonFraction>)&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;Other Current Assets</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInOtherOperatingAssets' contextRef='Y22' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>585,190</ix:nonFraction>)&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncreaseDecreaseInOtherOperatingAssets' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>123,036</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;Accounts Payable</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:IncreaseDecreaseInAccountsPayable' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,600</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncreaseDecreaseInAccountsPayable' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>226,211</ix:nonFraction>&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;Accrued Wages and Salaries</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities' contextRef='Y22' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>47,000</ix:nonFraction>)&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>27,324</ix:nonFraction>&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'><span style='color:#833C0B'> &#160;&#160;&#160;</span>Other Accrued Expenses</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInOtherAccruedLiabilities' contextRef='Y22' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>38,457</ix:nonFraction>)&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncreaseDecreaseInOtherAccruedLiabilities' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>43,450</ix:nonFraction>&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'><span style='color:#833C0B'> &#160;&#160;</span> Unearned Revenue and Customer Deposits</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInCustomerAdvancesAndDeposits' contextRef='Y22' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>98,707</ix:nonFraction>)&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncreaseDecreaseInCustomerAdvancesAndDeposits' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>52,926</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr style='height:14.4pt'>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'><span style='color:#00B050'> &#160;&#160;&#160;&#160;&#160;</span>Net Cash Used in Operating Activities</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:NetCashProvidedByUsedInOperatingActivities' contextRef='Y22' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,264,954</ix:nonFraction>)&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:NetCashProvidedByUsedInOperatingActivities' contextRef='Y21' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,009,483</ix:nonFraction>)&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Cash Flows from Investing Activities:</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Capital Expenditures</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:PaymentsToAcquireProductiveAssets' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>969,943</ix:nonFraction>)&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:PaymentsToAcquireProductiveAssets' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>670,898</ix:nonFraction>)&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Proceeds from the Sale of Property and Equipment</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,043,240</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>7,800</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Proceeds from Certificates of Deposit</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,495,000</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,484,000</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Purchases of Certificates of Deposit</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:PaymentsToAcquireHeldToMaturitySecurities' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,445,000</ix:nonFraction>)&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:PaymentsToAcquireHeldToMaturitySecurities' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,492,000</ix:nonFraction>)&#160;&#160;</p> </td></tr>
<tr style='height:14.4pt'>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;Net Cash Provided by Investing Activities</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:NetCashProvidedByUsedInInvestingActivities' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,123,297</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:NetCashProvidedByUsedInInvestingActivities' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,328,902</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Cash Flows from Financing Activities:</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Cash Dividends Paid</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:PaymentsOfDividendsCommonStock' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>850,196</ix:nonFraction>)&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:PaymentsOfDividendsCommonStock' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>850,196</ix:nonFraction>)&#160;&#160;</p> </td></tr>
<tr style='height:14.4pt'>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;Net Cash Used in Financing Activities</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:NetCashProvidedByUsedInFinancingActivities' contextRef='Y22' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>850,196</ix:nonFraction>)&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:NetCashProvidedByUsedInFinancingActivities' contextRef='Y21' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>850,196</ix:nonFraction>)&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Net Increase (Decrease) in Cash and Cash Equivalents</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,008,147</ix:nonFraction>&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' contextRef='Y21' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>530,777</ix:nonFraction>)&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Cash and Cash Equivalents:</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Beginning of Year</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:CashAndCashEquivalentsAtCarryingValue' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,036,954</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CashAndCashEquivalentsAtCarryingValue' contextRef='E20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,567,731</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>End of Year</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'><b>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:CashAndCashEquivalentsAtCarryingValue' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,045,101</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:CashAndCashEquivalentsAtCarryingValue' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,036,954</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#FF0000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Cash Paid for Income Taxes</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><b>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:IncomeTaxesPaidNet' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,271,679</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:IncomeTaxesPaidNet' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>300,500</ix:nonFraction>&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:6.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:82.1pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td colspan='4' valign='bottom' style='background-color:#CEE7FF;width:437.85pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>The accompanying notes are an integral part of the Consolidated Financial Statements.</p> </td></tr> </table> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>18</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <a id='a42'></a><p style='font:10pt Arial;margin:0;margin-right:-5.75pt;color:#000000'><b>Notes to Consolidated Financial Statements</b></p> <ix:nonNumeric name='us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock' contextRef='Y22' escape='true' continuedAt='c1'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>1 - Nature of Business and Significant Accounting Policies</b></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>Nature of Business-</b>The Company operates in the fastener industry and is in the business of producing and selling rivets, cold-formed fasteners and parts, screw machine products, automatic rivet setting machines and parts and tools for such machines.</p> <p style='font:10pt Courier New;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>A summary of the Company&#8217;s significant accounting policies follows:</b></p> <ix:nonNumeric name='us-gaap:ConsolidationPolicyTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>Principles of Consolidation-</b>The consolidated financial statements include the accounts of Chicago Rivet &amp; Machine Co. and its wholly-owned subsidiary, H &amp; L Tool Company, Inc. (&#8220;H &amp; L Tool&#8221;). &#160;All significant intercompany accounts and transactions have been eliminated.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> </ix:nonNumeric><ix:nonNumeric name='us-gaap:RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure' contextRef='Y22' escape='true'><p style='font:10pt Arial;margin:0'><b>Revenue Recognition-</b> Revenue is recognized when control of the promised goods or services is transferred to our customers, generally upon shipment of goods or completion of services, in an amount that reflects the consideration we expect to receive in exchange for those goods or services. &#160;Sales taxes we may collect concurrent with revenue producing activities are excluded from revenue. &#160;Revenue is recognized net of certain sales adjustments to arrive at net sales as reported on the statement of income. &#160;These adjustments primarily relate to customer returns and allowances, which vary over time. &#160;The Company records a liability and reduction in sales for estimated product returns based upon historical experience. &#160;If we determine that our obligation under warranty claims is probable and subject to reasonable determination, an estimate of that liability is recorded as an offset against revenue at that time. &#160;As of December 31, 2022 and 2021, reserves for warranty claims were not material. &#160;Cash received by the Company prior to shipment is recorded as unearned revenue. &#160;In 2022 and 2021 the Company recognized revenue from such payments of $<ix:nonFraction name='us-gaap:ContractWithCustomerLiabilityRevenueRecognized' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>302,357</ix:nonFraction> and $<ix:nonFraction name='us-gaap:ContractWithCustomerLiabilityRevenueRecognized' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>248,799</ix:nonFraction>, respectively, that was included in the unearned revenue balance at the beginning of the period. &#160;Shipping and handling fees billed to customers are recognized in net sales, and related costs as cost of sales, when incurred.</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:ConcentrationRiskCreditRisk' contextRef='Y22' escape='true'><p style='font:10pt Arial;margin:0'><b>Credit Risk-</b>The Company extends credit on the basis of terms that are customary within our markets to various companies doing business primarily in the automotive industry. &#160;The Company has a concentration of credit risk primarily within the automotive industry and in the Midwestern United States. &#160;The Company has established an allowance for accounts that may become uncollectible in the future. &#160;This estimated allowance is based primarily on management's evaluation of the financial condition of the customer and historical experience. &#160;The Company monitors its accounts receivable and charges to expense an amount equal to its estimate of potential credit losses. &#160;The Company considers a number of factors in determining its estimates, including the length of time its trade accounts receivable are past due, the Company's previous loss history and the customer's current ability to pay its obligation. &#160;Accounts receivable balances are charged off against the allowance when it is determined that the receivable will not be recovered.</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:CashAndCashEquivalentsPolicyTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Arial;margin:0'><b>Cash and Cash Equivalents and Certificates of Deposit-</b>The Company considers all highly liquid investments, including U.S. Treasury bills and certificates of deposit, with a maturity of three months or less when purchased to be cash equivalents. &#160;Certificates of deposit with an original maturity of greater than three months are separately presented at cost which approximates market value. &#160;The Company maintains cash on deposit in several financial institutions. At times, the account balances may be in excess of Federal Deposit Insurance Corporation insured limits.</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:FairValueOfFinancialInstrumentsPolicy' contextRef='Y22' escape='true'><p style='font:10pt Arial;margin:0'><b>Fair Value of Financial Instruments-</b>The carrying amounts reported in the consolidated balance sheets for cash and cash equivalents, certificates of deposit, accounts receivable and accounts payable approximate fair value based on their short-term nature.</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:InventoryPolicyTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Arial;margin:0'><b>Inventories-</b>Inventories are stated at the lower of cost or net realizable value, cost being determined by the first-in, first-out method. &#160;The value of inventories is reduced for estimated excess and obsolete inventories based on a review of on-hand inventories compared to historical and estimated future sales and usage.</p> </ix:nonNumeric></ix:nonNumeric><hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>19</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <ix:continuation id='c1' continuedAt='c2'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentPolicyTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Arial;margin:0'><b>Property, Plant and Equipment-</b>Properties are stated at cost and are depreciated over their estimated useful lives using the straight-line method for financial reporting purposes. &#160;Accelerated methods of depreciation are used for income tax purposes. &#160;Direct costs related to developing or obtaining software for internal use are capitalized as property and equipment. &#160;Capitalized software costs are amortized over the software&#8217;s useful life when the software is placed in service. &#160;The estimated useful lives by asset category are:</p> <p style='font:10pt Courier New;margin:0'>&#160;</p>
<table style='margin:0 auto;border-collapse:collapse;width:277pt'>
<tr>
<td valign='top' style='width:162.55pt'><p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><i>Asset Category</i></span></p> </td>
<td valign='top' style='width:114.45pt'><p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><i>Estimated Useful Life</i></span></p> </td></tr>
<tr>
<td valign='top' style='width:162.55pt'><p style='font:10pt Arial;margin:0'>Land improvements&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td valign='top' style='width:114.45pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentUsefulLife' contextRef='Y22_Range-Minimum_PpeByType-LandImprovements' format='ixt-sec:duryear'>15</ix:nonNumeric> to <ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentUsefulLife' contextRef='Y22_Range-Maximum_PpeByType-LandImprovements' format='ixt-sec:duryear'>40</ix:nonNumeric> years</p> </td></tr>
<tr>
<td valign='top' style='width:162.55pt'><p style='font:10pt Arial;margin:0'>Buildings and improvements&#8230;&#8230;</p> </td>
<td valign='top' style='width:114.45pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentUsefulLife' contextRef='Y22_Range-Minimum_PpeByType-BuildingImprovements' format='ixt-sec:duryear'>10</ix:nonNumeric> to <ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentUsefulLife' contextRef='Y22_Range-Maximum_PpeByType-BuildingImprovements' format='ixt-sec:duryear'>40</ix:nonNumeric> years</p> </td></tr>
<tr>
<td valign='top' style='width:162.55pt'><p style='font:10pt Arial;margin:0'>Machinery and equipment&#8230;&#8230;&#8230;</p> </td>
<td valign='top' style='width:114.45pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentUsefulLife' contextRef='Y22_Range-Minimum_PpeByType-MachineryAndEquipment' format='ixt-sec:duryear'>5</ix:nonNumeric> to <ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentUsefulLife' contextRef='Y22_Range-Maximum_PpeByType-MachineryAndEquipment' format='ixt-sec:duryear'>18</ix:nonNumeric> years</p> </td></tr>
<tr>
<td valign='top' style='width:162.55pt'><p style='font:10pt Arial;margin:0'>Capitalized software costs&#8230;&#8230;&#8230;</p> </td>
<td valign='top' style='width:114.45pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentUsefulLife' contextRef='Y22_Range-Minimum_PpeByType-SoftwareAndSoftwareDvlpCosts' format='ixt-sec:duryear'>3</ix:nonNumeric> to <ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentUsefulLife' contextRef='Y22_Range-Maximum_PpeByType-SoftwareAndSoftwareDvlpCosts' format='ixt-sec:duryear'>5</ix:nonNumeric> years</p> </td></tr>
<tr>
<td valign='top' style='width:162.55pt'><p style='font:10pt Arial;margin:0'>Other equipment&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td valign='top' style='width:114.45pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentUsefulLife' contextRef='Y22_Range-Minimum_PpeByType-OtherCapizedPpe' format='ixt-sec:duryear'>3</ix:nonNumeric> to <ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentUsefulLife' contextRef='Y22_Range-Maximum_PpeByType-OtherCapizedPpe' format='ixt-sec:duryear'>10</ix:nonNumeric> years</p> </td></tr> </table> <p style='font:10pt Courier New;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>The Company reviews the carrying value of property, plant and equipment for impairment whenever events and circumstances indicate that the carrying value of an asset may not be recoverable from the estimated future cash flows expected to result from its use and eventual disposition. &#160;In cases where undiscounted expected future cash flows are less than the carrying value, an impairment loss is recognized equal to an amount by which the carrying value exceeds the fair value of assets. &#160;There were no triggering events requiring assessment of impairment as of December 31, 2022 and 2021.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>When properties are retired or sold, the related cost and accumulated depreciation are removed from the respective accounts, and any gain or loss on disposition is recognized in current operations. &#160;Maintenance, repairs and minor betterments that do not improve the related asset or extend its useful life are charged to operations as incurred. </p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:IncomeTaxPolicyTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Arial;margin:0'><b>Income Taxes&#8212;</b>Deferred income taxes are determined under the asset and liability method. &#160;Deferred income taxes arise from temporary differences between the income tax basis of assets and liabilities and their reported amounts in the financial statements. &#160;Deferred taxes are shown on the balance sheet as a net long-term asset or liability.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>The Company applies a comprehensive model for the financial statement recognition, measurement, classification and disclosure of uncertain tax positions.&#160; In the first step of the two-step process, the Company evaluates the tax position for recognition by determining if the weight of available evidence indicates that it is more likely than not that the position will be sustained on audit, including resolution of related appeals or litigation processes, if any.&#160; In the second step, the Company measures the tax benefit as the largest amount that is more than 50% likely of being realized upon settlement.&#160; As of December 31, 2022 and 2021, the Company determined that there are <ix:nonFraction name='us-gaap:LiabilityForUncertainTaxPositionsCurrent' contextRef='E22' unitRef='USD' decimals='INF' format='ixt-sec:numwordsen'><ix:nonFraction name='us-gaap:LiabilityForUncertainTaxPositionsCurrent' contextRef='E21' unitRef='USD' decimals='INF' format='ixt-sec:numwordsen'>no</ix:nonFraction></ix:nonFraction> uncertain tax positions with a more than 50% likelihood of being realized upon settlement.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>The Company classifies interest and penalties related to unrecognized tax benefits as a component of income tax expense. &#160;There were <ix:nonFraction name='us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' contextRef='Y22' unitRef='USD' decimals='INF' format='ixt-sec:numwordsen'><ix:nonFraction name='us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' contextRef='Y21' unitRef='USD' decimals='INF' format='ixt-sec:numwordsen'>no</ix:nonFraction></ix:nonFraction> such expenses in 2022 or 2021.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>The Company&#8217;s federal income tax returns for the 2019 through 2021 tax years are subject to examination by the Internal Revenue Service (&#8220;IRS&#8221;). &#160;While it may be possible that a reduction could occur with respect to the Company&#8217;s unrecognized tax benefits as an outcome of an IRS examination, management does not anticipate any adjustments that would result in a material change to the results of operations or financial condition of the Company.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>No statutes have been extended on any of the Company&#8217;s federal income tax filings. The statute of limitations on the Company&#8217;s 2019, 2020 and 2021 federal income tax returns will expire on September 15, 2023, 2024 and 2025, respectively.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>The Company&#8217;s state income tax returns for the 2019 through 2021 tax years are subject to examination by various state authorities with the latest closing period on October 31, 2025. &#160;The Company is currently not under examination by any state authority for income tax purposes and no statutes for state income tax filings have been extended.</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:SegmentReportingPolicyPolicyTextBlock' contextRef='Y22' escape='true' continuedAt='c3'></ix:nonNumeric></ix:continuation><hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>20</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <ix:continuation id='c2'><ix:continuation id='c3'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>Segment Information-</b>The Company reports segment information based on the internal structure and reporting of the Company&#8217;s operations.</p> </ix:continuation><p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:EarningsPerSharePolicyTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>Net Income Per Share-</b> Net income per share of common stock is based on the weighted average number of shares outstanding of <ix:nonFraction name='us-gaap:WeightedAverageNumberOfSharesOutstandingBasic' contextRef='Y22' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:WeightedAverageNumberOfSharesOutstandingBasic' contextRef='Y21' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction></ix:nonFraction> in 2022 and 2021.</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:UseOfEstimates' contextRef='Y22' escape='true'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'><span style='font-family:Arial'><b>Use of Estimates-</b>The preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and the accompanying notes. &#160;Significant items subject to estimates and assumptions include depreciable lives, deferred taxes and valuation allowances for accounts receivable and inventory obsolescence. &#160;Actual results could differ from those estimates.</span></p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Arial;margin:0'><b>Recent Accounting Pronouncements-</b> In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments&#160;- Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments and in November 2018 issued an amendment, ASU 2018-19, Codification Improvements to Topic 326, Financial Instruments &#8211;&#160;Credit Losses. &#160;ASU 2016-13 amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments, including trade receivables. This may result in the earlier recognition of allowances for losses. ASU 2016-13 and ASU 2018-19 should be applied on either a prospective transition or modified-retrospective approach depending on the subtopic. &#160;ASU 2016-13 is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years, with early adoption permitted. The Company adopted this ASU on January 1, 2023. &#160;The impact of the adoption on our consolidated financial statements was not material.</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0;text-align:justify'>&#160;</p> </ix:continuation><ix:nonNumeric name='us-gaap:SupplementalBalanceSheetDisclosuresTextBlock' contextRef='Y22' escape='true' continuedAt='c4'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>2 - Balance Sheet Details</b></p> <ix:nonNumeric name='us-gaap:ScheduleOfInventoryCurrentTableTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Courier New;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:216pt'></td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:center'><b>December 31,</b></p> <p style='font:10pt Arial;margin:0;text-align:center'><b>2022</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:center'>December 31,</p> <p style='font:10pt Arial;margin:0;text-align:center'>2021</p> </td></tr>
<tr>
<td valign='top' style='width:216pt'><p style='font:10pt Arial;margin:0'>Inventories:</p> </td>
<td valign='bottom' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'>Raw materials</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b>$&#160;<ix:nonFraction name='us-gaap:InventoryRawMaterials' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,460,071</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>$&#160;<ix:nonFraction name='us-gaap:InventoryRawMaterials' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,645,923</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:216pt'><p style='font:10pt Arial;margin:0'>Work in process</p> </td>
<td valign='bottom' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:InventoryWorkInProcess' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,747,427</ix:nonFraction></b></p> </td>
<td valign='bottom' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryWorkInProcess' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,181,457</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'>Finished goods</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:InventoryFinishedGoods' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,534,732</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryFinishedGoods' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,304,400</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:216pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:90pt;border-top:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>9,742,230</b></p> </td>
<td valign='bottom' style='width:90pt;border-top:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'>9,131,780</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'>Valuation reserves</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:InventoryValuationReserves' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>621,000</ix:nonFraction>)</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:InventoryValuationReserves' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>612,000</ix:nonFraction>)</p> </td></tr>
<tr>
<td valign='top' style='width:216pt'></td>
<td valign='bottom' style='width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>$&#160;<ix:nonFraction name='us-gaap:InventoryNet' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>9,121,230</ix:nonFraction></b></p> </td>
<td valign='bottom' style='width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'>$&#160;<ix:nonFraction name='us-gaap:InventoryNet' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>8,519,780</ix:nonFraction></p> </td></tr> </table> <p style='font:10pt Courier New;margin:0'>&#160;</p> </ix:nonNumeric><p style='font:10pt Courier New;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Courier New;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:216pt'></td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:center'><b>December 31,</b></p> <p style='font:10pt Arial;margin:0;text-align:center'><b>2022</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:center'>December 31,</p> <p style='font:10pt Arial;margin:0;text-align:center'>2021</p> </td></tr>
<tr style='height:13.95pt'>
<td valign='bottom' style='width:216pt'><p style='font:10pt Arial;margin:0'>Property, Plant and Equipment, net:</p> </td>
<td valign='top' style='width:90pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:90pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'>Land and improvements</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b>$&#160;<ix:nonFraction name='us-gaap:LandAndLandImprovements' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,510,513</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>$&#160;<ix:nonFraction name='us-gaap:LandAndLandImprovements' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,778,819</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:216pt'><p style='font:10pt Arial;margin:0'>Buildings and improvements</p> </td>
<td valign='bottom' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:BuildingsAndImprovementsGross' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>6,818,066</ix:nonFraction></b></p> </td>
<td valign='bottom' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:BuildingsAndImprovementsGross' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>8,456,983</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'>Machinery and equipment</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:MachineryAndEquipmentGross' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>35,982,194</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:MachineryAndEquipmentGross' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>35,618,735</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:216pt'><p style='font:10pt Arial;margin:0'>Capitalized software and other</p> </td>
<td valign='bottom' style='width:90pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentOther' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,038,768</ix:nonFraction></b></p> </td>
<td valign='bottom' style='width:90pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentOther' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,060,379</ix:nonFraction></p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'><p style='font:13pt Arial Narrow;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>45,349,541</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'>46,914,916</p> </td></tr>
<tr>
<td valign='bottom' style='width:216pt'><p style='font:10pt Arial;margin:0'>Accumulated depreciation</p> </td>
<td valign='bottom' style='width:90pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>33,487,748</ix:nonFraction>)</b></p> </td>
<td valign='bottom' style='width:90pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>34,441,052</ix:nonFraction>)</p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'></td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>$&#160;<ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentOtherNet' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>11,861,793</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'>$&#160;<ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentOtherNet' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>12,473,864</ix:nonFraction></p> </td></tr> </table> <p style='font:10pt Courier New;margin:0'>&#160;</p> </ix:nonNumeric></ix:nonNumeric><hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>21</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <ix:continuation id='c4'><p style='font:10pt Courier New;margin:0'>&#160;</p> <p style='font:10pt Courier New;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Courier New;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:216pt'></td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:center'><b>December 31,</b></p> <p style='font:10pt Arial;margin:0;text-align:center'><b>2022</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:center'>December 31,</p> <p style='font:10pt Arial;margin:0;text-align:center'>2021</p> </td></tr>
<tr>
<td valign='top' style='width:216pt'><p style='font:10pt Arial;margin:0'>Other Accrued Expenses:</p> </td>
<td valign='top' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='top' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'>Profit sharing plan contribution</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b>$&#160;<ix:nonFraction name='us-gaap:OtherEmployeeRelatedLiabilitiesCurrent' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>170,000</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>$&#160;<ix:nonFraction name='us-gaap:OtherEmployeeRelatedLiabilitiesCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>145,000</ix:nonFraction></p> </td></tr>
<tr>
<td valign='top' style='width:216pt'><p style='font:10pt Arial;margin:0'>Property taxes</p> </td>
<td valign='bottom' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>41,497</ix:nonFraction></b></p> </td>
<td valign='bottom' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>80,269</ix:nonFraction></p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'>All other items </p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:OtherAccruedLiabilitiesCurrent' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>116,464</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherAccruedLiabilitiesCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>141,149</ix:nonFraction></p> </td></tr>
<tr>
<td valign='top' style='width:216pt'></td>
<td valign='bottom' style='width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>$&#160;<ix:nonFraction name='us-gaap:AccruedLiabilitiesCurrent' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>327,961</ix:nonFraction></b></p> </td>
<td valign='bottom' style='width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'>$&#160;<ix:nonFraction name='us-gaap:AccruedLiabilitiesCurrent' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>366,418</ix:nonFraction></p> </td></tr> </table> <p style='font:10pt Courier New;margin:0'>&#160;</p> </ix:nonNumeric><p style='font:10pt Courier New;margin:0'>&#160;</p> <ix:nonNumeric name='srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Courier New;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:center'><b>December 31,</b></p> <p style='font:10pt Arial;margin:0;text-align:center'><b>2022</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:center'>December 31,</p> <p style='font:10pt Arial;margin:0;text-align:center'>2021</p> </td></tr>
<tr>
<td valign='top' style='width:216pt'><p style='font:10pt Arial;margin:0'>Allowance for Doubtful Accounts:</p> </td>
<td valign='top' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='top' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'> &#160;Balance at beginning of year</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b>$ <ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesBalance' contextRef='E21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>170,000</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>$ <ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesBalance' contextRef='E20_ValuationAllowancesAndReservesType-AllowanceForCreditLoss' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>170,000</ix:nonFraction></p> </td></tr>
<tr>
<td valign='top' style='width:216pt'><p style='font:10pt Arial;margin:0'> &#160;Charges to statement of income</p> </td>
<td valign='bottom' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense' contextRef='Y22_ValuationAllowancesAndReservesType-AllowanceForCreditLoss' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,660</ix:nonFraction>)</b></p> </td>
<td valign='bottom' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense' contextRef='Y21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'> &#160;Write-offs, net of recoveries</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesDeductions' contextRef='Y22_ValuationAllowancesAndReservesType-AllowanceForCreditLoss' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>8,340</ix:nonFraction>)</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesDeductions' contextRef='Y21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td></tr>
<tr>
<td valign='top' style='width:216pt'><p style='font:10pt Arial;margin:0'> &#160;Balance at end of year</p> </td>
<td valign='bottom' style='width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>$ &#160;<ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesBalance' contextRef='E22_ValuationAllowancesAndReservesType-AllowanceForCreditLoss' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>160,000</ix:nonFraction></b></p> </td>
<td valign='bottom' style='width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'>$ <ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesBalance' contextRef='E21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>170,000</ix:nonFraction></p> </td></tr> </table> <p style='font:10pt Courier New;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:center'><b>December 31,</b></p> <p style='font:10pt Arial;margin:0;text-align:center'><b>2022</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:center'>December 31,</p> <p style='font:10pt Arial;margin:0;text-align:center'>2021</p> </td></tr>
<tr>
<td valign='top' style='width:216pt'><p style='font:10pt Arial;margin:0'>Inventory Valuation Reserves:</p> </td>
<td valign='top' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='top' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'> &#160;Balance at beginning of year</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b>$ &#160; <ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesBalance' contextRef='E21_ValuationAllowancesAndReservesType-InventoryValuationReserve' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>612,000</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>$ &#160; <ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesBalance' contextRef='E20_ValuationAllowancesAndReservesType-InventoryValuationReserve' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>600,000</ix:nonFraction></p> </td></tr>
<tr>
<td valign='top' style='width:216pt'><p style='font:10pt Arial;margin:0'> &#160;Charges to statement of income</p> </td>
<td valign='bottom' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense' contextRef='Y22_ValuationAllowancesAndReservesType-InventoryValuationReserve' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>17,070</ix:nonFraction></b></p> </td>
<td valign='bottom' style='width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense' contextRef='Y21_ValuationAllowancesAndReservesType-InventoryValuationReserve' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>41,308</ix:nonFraction></p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'> &#160;Write-offs</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesDeductions' contextRef='Y22_ValuationAllowancesAndReservesType-InventoryValuationReserve' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>8,070</ix:nonFraction>)</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:90pt'><p style='font:10pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesDeductions' contextRef='Y21_ValuationAllowancesAndReservesType-InventoryValuationReserve' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>29,308</ix:nonFraction>)</p> </td></tr>
<tr>
<td valign='top' style='width:216pt'><p style='font:10pt Arial;margin:0'> &#160;Balance at end of year</p> </td>
<td valign='bottom' style='width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>$ &#160; <ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesBalance' contextRef='E22_ValuationAllowancesAndReservesType-InventoryValuationReserve' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>621,000</ix:nonFraction></b></p> </td>
<td valign='bottom' style='width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:ValuationAllowancesAndReservesBalance' contextRef='E21_ValuationAllowancesAndReservesType-InventoryValuationReserve' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>612,000</ix:nonFraction></p> </td></tr> </table> <p style='font:10pt Courier New;margin:0'>&#160;</p> </ix:nonNumeric></ix:continuation><p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:IncomeTaxDisclosureTextBlock' contextRef='Y22' escape='true' continuedAt='c5'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'><span style='font-family:Arial'><b>3</b><b> - </b><b>Income Taxes&#8212;</b>The provision for income tax expense consists of the following</span><span style='font-family:Arial;color:#833C0B'>:</span></p> <ix:nonNumeric name='us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Arial;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:151.9pt'></td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt'><p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b>20</b><b>22</b></span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt'><p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>2021</span></p> </td></tr>
<tr>
<td valign='bottom' style='width:151.9pt'><p style='font:10pt Arial;margin:0'>Current:</p> </td>
<td valign='top' style='width:72pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='top' style='width:72pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:151.9pt'><p style='font:10pt Arial;margin:0'>Federal</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt'><p style='font:10pt Arial;margin:0;text-align:right'><b>$ &#160;&#160;<ix:nonFraction name='us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>723,000</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt'><p style='font:10pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;<ix:nonFraction name='us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>378,000</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:151.9pt'><p style='font:10pt Arial;margin:0'>State</p> </td>
<td valign='bottom' style='width:72pt'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:CurrentStateAndLocalTaxExpenseBenefit' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>40,000</ix:nonFraction></b></p> </td>
<td valign='bottom' style='width:72pt'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CurrentStateAndLocalTaxExpenseBenefit' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>8,000</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:151.9pt'><p style='font:10pt Arial;margin:0'>Deferred</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:DeferredIncomeTaxExpenseBenefit' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>22,000</ix:nonFraction></b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:DeferredIncomeTaxExpenseBenefit' contextRef='Y21' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>85,000</ix:nonFraction>)</p> </td></tr>
<tr style='height:7.2pt'>
<td valign='top' style='width:151.9pt'></td>
<td valign='bottom' style='width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>$ &#160;&#160;<ix:nonFraction name='us-gaap:IncomeTaxExpenseBenefit' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>785,000</ix:nonFraction></b></p> </td>
<td valign='bottom' style='width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'>$ &#160;&#160; <ix:nonFraction name='us-gaap:IncomeTaxExpenseBenefit' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>301,000</ix:nonFraction></p> </td></tr> </table> <p style='font:10pt Courier New;margin:0'>&#160;</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>The following is a reconciliation of the statutory federal income tax rate to the actual effective tax rate:</p> <ix:nonNumeric name='us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Courier New;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td colspan='3' valign='bottom' style='background-color:#CEE7FF;width:118.35pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:center'><b>2022</b></p> </td>
<td valign='top' style='background-color:#CEE7FF;width:11.1pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td colspan='3' valign='bottom' style='background-color:#CEE7FF;width:120.05pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:center'>2021</p> </td></tr>
<tr>
<td valign='top' style='width:216pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:center'><b>Amount</b></p> </td>
<td valign='bottom' style='width:11.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:center'>&#160;</p> </td>
<td valign='bottom' style='width:34.55pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:center'><b>%</b></p> </td>
<td valign='bottom' style='width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:center'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:center'>Amount</p> </td>
<td valign='bottom' style='width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:center'>&#160;</p> </td>
<td valign='bottom' style='width:36.95pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:center'>%</p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'>Expected tax at U.S. statutory rate</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;color:#000000;text-align:right'><b>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>767,000</ix:nonFraction></b></p> </td>
<td valign='top' style='background-color:#CEE7FF;width:11.8pt;border-top:0.5pt solid #000000'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:34.55pt;border-top:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate' contextRef='Y22' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>21.0</ix:nonFraction></b></p> </td>
<td valign='top' style='background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160; <ix:nonFraction name='us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>297,000</ix:nonFraction></p> </td>
<td valign='top' style='background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:36.95pt;border-top:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate' contextRef='Y21' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>21.0</ix:nonFraction></p> </td></tr>
<tr>
<td valign='top' style='width:216pt'><p style='font:10pt Arial;margin:0'>Permanent differences</p> </td>
<td valign='bottom' style='width:72pt'><p style='font:10pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:IncomeTaxReconciliationOtherAdjustments' contextRef='Y22' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>14,000</ix:nonFraction>)</b></p> </td>
<td valign='top' style='width:11.8pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:34.55pt'><p style='font:10pt Arial;margin:0;text-align:right'><b>(<ix:nonFraction name='us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments' contextRef='Y22' sign='-' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>0.4</ix:nonFraction>)</b></p> </td>
<td valign='top' style='width:11.1pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:72pt'><p style='font:10pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncomeTaxReconciliationOtherAdjustments' contextRef='Y21' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,000</ix:nonFraction>)</p> </td>
<td valign='top' style='width:11.1pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:36.95pt'><p style='font:10pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments' contextRef='Y21' sign='-' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>0.1</ix:nonFraction>)</p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF;width:216pt'><p style='font:10pt Arial;margin:0'>State taxes, net of federal benefit</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>32,000</ix:nonFraction></b></p> </td>
<td valign='top' style='background-color:#CEE7FF;width:11.8pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:34.55pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes' contextRef='Y22' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>0.9</ix:nonFraction></b></p> </td>
<td valign='top' style='background-color:#CEE7FF;width:11.1pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>6,000</ix:nonFraction></p> </td>
<td valign='top' style='background-color:#CEE7FF;width:11.1pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:36.95pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes' contextRef='Y21' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>0.4</ix:nonFraction></p> </td></tr>
<tr>
<td valign='top' style='width:216pt'><p style='font:10pt Arial;margin:0'>Income tax expense</p> </td>
<td valign='bottom' style='width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>$ &#160;&#160;<ix:nonFraction name='us-gaap:IncomeTaxExpenseBenefit' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>785,000</ix:nonFraction></b></p> </td>
<td valign='top' style='width:11.8pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:34.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:EffectiveIncomeTaxRateContinuingOperations' contextRef='Y22' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>21.5</ix:nonFraction></b></p> </td>
<td valign='top' style='width:11.1pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'>$ &#160;&#160; <ix:nonFraction name='us-gaap:IncomeTaxExpenseBenefit' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>301,000</ix:nonFraction></p> </td>
<td valign='top' style='width:11.1pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:36.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EffectiveIncomeTaxRateContinuingOperations' contextRef='Y21' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>21.3</ix:nonFraction></p> </td></tr> </table> <p style='font:10pt Courier New;margin:0'>&#160;</p> </ix:nonNumeric></ix:nonNumeric><hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>22</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <ix:continuation id='c5'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:12pt Arial Narrow;margin:0;color:#339966'><span style='font-family:Arial;color:#000000'>The deferred tax assets (liabilities) consist of the following:</span></p> <ix:nonNumeric name='us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Courier New;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr style='height:18pt'>
<td valign='bottom' style='background-color:#CEE7FF'></td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b>20</b><b>22</b></span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0;text-align:center'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>2021</span></p> </td></tr>
<tr>
<td valign='top'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='top'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='top'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='top'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0'>Depreciation and amortization</p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0;text-align:right'><b>$&#160;(<ix:nonFraction name='us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,216,451</ix:nonFraction>)&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0;text-align:right'>$&#160;(<ix:nonFraction name='us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,196,119</ix:nonFraction>)&#160;&#160;</p> </td></tr>
<tr>
<td valign='top'><p style='font:10pt Arial;margin:0'>Inventory</p> </td>
<td valign='bottom'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:DeferredTaxAssetsInventory' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>157,687</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredTaxAssetsInventory' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>157,600</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0'>Accrued vacation</p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>71,923</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>74,037</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='top'><p style='font:10pt Arial;margin:0'>Allowance for doubtful accounts</p> </td>
<td valign='bottom'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>38,250</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>38,250</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='top' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0'>Other, net</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:DeferredTaxAssetsOther' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>507</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredTaxAssetsOther' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>148</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='top'></td>
<td valign='bottom' style='border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>$&#160;(<ix:nonFraction name='us-gaap:DeferredTaxAssetsLiabilitiesNet' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>948,084</ix:nonFraction>)&#160;&#160;</b></p> </td>
<td valign='bottom'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'>$&#160;(<ix:nonFraction name='us-gaap:DeferredTaxAssetsLiabilitiesNet' contextRef='E21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>926,084</ix:nonFraction>)&#160;&#160;</p> </td></tr> </table> <p style='font:10pt Arial;margin:0'>&#160;</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>Valuation allowances related to deferred taxes are recorded based on the &#8220;more likely than not&#8221; realization criteria. &#160;The Company reviews the need for a valuation allowance on a quarterly basis for each of its tax jurisdictions. &#160;A deferred tax valuation allowance was <ix:nonFraction name='us-gaap:DeferredTaxAssetsValuationAllowance' contextRef='E22' unitRef='USD' decimals='INF' format='ixt-sec:numwordsen'><ix:nonFraction name='us-gaap:DeferredTaxAssetsValuationAllowance' contextRef='E21' unitRef='USD' decimals='INF' format='ixt-sec:numwordsen'>no</ix:nonFraction></ix:nonFraction>t required at December 31, 2022 or 2021.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> </ix:continuation><ix:nonNumeric name='us-gaap:CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>4 - Profit Sharing Plan- </b>The Company has a noncontributory profit sharing plan covering substantially all employees. &#160;Total expenses relating to the profit sharing plan amounted to $<ix:nonFraction name='us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>170,000</ix:nonFraction> in 2022 and $<ix:nonFraction name='us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>145,000</ix:nonFraction> in 2021.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> </ix:nonNumeric><ix:nonNumeric name='us-gaap:InterestAndOtherIncomeTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>5 - Other Income- </b>consists of the following:</p> <ix:nonNumeric name='us-gaap:InterestAndOtherIncomeTableTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Arial;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:159.15pt'></td>
<td valign='bottom' style='background-color:#CEE7FF;width:63.65pt'><p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b>20</b><b>22</b></span></p> </td>
<td valign='top' style='background-color:#CEE7FF;width:11.8pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:68.55pt'><p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>2021</span></p> </td></tr>
<tr style='height:14.4pt'>
<td valign='bottom' style='width:159.15pt'><p style='font:10pt Arial;margin:0'>Interest income</p> </td>
<td valign='bottom' style='width:63.65pt'><p style='font:10pt Arial;margin:0;text-align:right'><b>$&#160;<ix:nonFraction name='us-gaap:InvestmentIncomeInterest' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>55,333</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:11.8pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:68.55pt'><p style='font:10pt Arial;margin:0;text-align:right'>$&#160; <ix:nonFraction name='us-gaap:InvestmentIncomeInterest' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>19,797</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:159.15pt'><p style='font:10pt Arial;margin:0'>Other</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:63.65pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b><ix:nonFraction name='us-gaap:OtherNonoperatingIncome' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>36,100</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:11.8pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:68.55pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherNonoperatingIncome' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>35,760</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:159.15pt'></td>
<td valign='bottom' style='width:63.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'><b>$&#160;<ix:nonFraction name='us-gaap:OtherNonoperatingIncomeExpense' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>91,433</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign='bottom' style='width:11.8pt'><p style='font:10pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:68.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Arial;margin:0;text-align:right'>$&#160;<ix:nonFraction name='us-gaap:OtherNonoperatingIncomeExpense' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>55,557</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr> </table> <p style='font:10pt Courier New;margin:0'>&#160;</p> </ix:nonNumeric><p style='font:10pt Courier New;margin:0'>&#160;</p> </ix:nonNumeric><p style='font:10pt Courier New;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:SegmentReportingDisclosureTextBlock' contextRef='Y22' escape='true' continuedAt='c6'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>6 - Segment Information- </b>The Company operates in the United States in two business segments as determined by its products. &#160;The fastener segment, which comprises H &amp; L Tool and the parent company&#8217;s fastener operations, includes rivets, cold-formed fasteners and parts and screw machine products. &#160;The assembly equipment segment includes automatic rivet setting machines and parts and tools for such machines. &#160;Information by segment is as follows:</p> <ix:nonNumeric name='us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Courier New;margin:0'>&#160;</p>
<table style='border-collapse:collapse;margin-left:-3.6pt'>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'></td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Fastener</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Assembly Equipment</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Other</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Consolidated</span></p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'><b>Year Ended December 31, 2022:</b></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0;color:#E36C0A'><span style='color:#000000'>Net Sales&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:Revenues' contextRef='Y22_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>30,291,547</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:Revenues' contextRef='Y22_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,354,486</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:Revenues' contextRef='Y22_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;33,646,033</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>Depreciation&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Depreciation' contextRef='Y22_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,129,151</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Depreciation' contextRef='Y22_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>133,615</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Depreciation' contextRef='Y22_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>17,104</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>1,279,870</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>Segment operating profit&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='fil:SegmentOperatingProfit' contextRef='Y22_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>505,751</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='fil:SegmentOperatingProfit' contextRef='Y22_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>413,995</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right'><ix:nonFraction name='fil:SegmentOperatingProfit' contextRef='Y22_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction> </p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>919,746</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>Selling and administrative expenses&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='fil:SellingAndAdministrativeExpensesUnallocatedCorporate' contextRef='Y22_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='fil:SellingAndAdministrativeExpensesUnallocatedCorporate' contextRef='Y22_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='fil:SellingAndAdministrativeExpensesUnallocatedCorporate' contextRef='Y22_StBusnSeg-UnallocatedCorporate' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,096,944</ix:nonFraction>)</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>(2,096,944)</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>Gain on sale of property&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GainLossOnSaleOfPropertyPlantEquipment' contextRef='Y22_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,738,394</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>4,738,394</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>Other income&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InterestAndOtherIncome' contextRef='Y22_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InterestAndOtherIncome' contextRef='Y22_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InterestAndOtherIncome' contextRef='Y22_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>91,433</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>91,433</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>Income before income taxes&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>3,652,629</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>Capital expenditures&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PaymentsToAcquirePropertyPlantAndEquipment' contextRef='Y22_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>868,654</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PaymentsToAcquirePropertyPlantAndEquipment' contextRef='Y22_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,207</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PaymentsToAcquirePropertyPlantAndEquipment' contextRef='Y22_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>98,082</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>969,943</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>Segment assets:</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'> &#160;&#160;Accounts receivable, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccountsReceivableNetCurrent' contextRef='E22_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,683,620</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccountsReceivableNetCurrent' contextRef='E22_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>291,517</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccountsReceivableNetCurrent' contextRef='E22_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>4,975,137</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'> &#160;&#160;Inventories, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryNet' contextRef='E22_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>7,766,703</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryNet' contextRef='E22_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,354,527</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryNet' contextRef='E22_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>9,121,230</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'> &#160;&#160;Property, plant and equipment, net&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E22_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>9,562,329</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E22_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,303,497</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E22_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>995,967</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>11,861,793</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'> &#160;&#160;Other assets&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherAssets' contextRef='E22_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherAssets' contextRef='E22_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherAssets' contextRef='E22_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>7,667,967</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>7,667,967</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>33,626,127</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt;border-top:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>Year Ended December 31, 2021:</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0;color:#E36C0A'><span style='color:#000000'>Net Sales&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</span></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:Revenues' contextRef='Y21_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>29,831,388</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:Revenues' contextRef='Y21_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,143,170</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:Revenues' contextRef='Y21_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;33,974,558</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>Depreciation&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Depreciation' contextRef='Y21_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,161,596</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Depreciation' contextRef='Y21_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>134,957</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Depreciation' contextRef='Y21_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>22,001</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>1,318,554</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>Segment operating profit&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='fil:SegmentOperatingProfit' contextRef='Y21_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,384,486</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='fil:SegmentOperatingProfit' contextRef='Y21_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>997,048</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right'><ix:nonFraction name='fil:SegmentOperatingProfit' contextRef='Y21_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction> </p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>3,381,534</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>Selling and administrative expenses&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='fil:SellingAndAdministrativeExpensesUnallocatedCorporate' contextRef='Y21_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='fil:SellingAndAdministrativeExpensesUnallocatedCorporate' contextRef='Y21_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='fil:SellingAndAdministrativeExpensesUnallocatedCorporate' contextRef='Y21_StBusnSeg-UnallocatedCorporate' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,022,619</ix:nonFraction>)</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>(2,022,619)</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>Other income&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InterestAndOtherIncome' contextRef='Y21_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InterestAndOtherIncome' contextRef='Y21_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InterestAndOtherIncome' contextRef='Y21_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>55,557</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>55,557</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>Income before income taxes&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>1,414,472</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt;border-top:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>Capital expenditures&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PaymentsToAcquirePropertyPlantAndEquipment' contextRef='Y21_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>493,564</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PaymentsToAcquirePropertyPlantAndEquipment' contextRef='Y21_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PaymentsToAcquirePropertyPlantAndEquipment' contextRef='Y21_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>177,334</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>670,898</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'>Segment assets:</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'> &#160;&#160;Accounts receivable, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccountsReceivableNetCurrent' contextRef='E21_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,302,257</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccountsReceivableNetCurrent' contextRef='E21_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>345,727</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccountsReceivableNetCurrent' contextRef='E21_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>5,647,984</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'> &#160;&#160;Inventories, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryNet' contextRef='E21_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>7,214,050</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryNet' contextRef='E21_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,305,730</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryNet' contextRef='E21_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>8,519,780</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'> &#160;&#160;Property, plant and equipment, net&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E21_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>9,782,324</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E21_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,433,905</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E21_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,257,635</ix:nonFraction></p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>12,473,864</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:179.1pt'><p style='font:8pt Arial;margin:0'> &#160;&#160;Other assets&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherAssets' contextRef='E21_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherAssets' contextRef='E21_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherAssets' contextRef='E21_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,124,630</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>5,124,630</p> </td></tr>
<tr>
<td valign='bottom' style='width:179.1pt'><p style='font:8pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>31,766,258</p> </td></tr> </table> <p style='font:10pt Arial;margin:0'>&#160;</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Courier New;margin:0'>&#160;</p> </ix:nonNumeric><hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>23</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <ix:continuation id='c6'><p style='font:10pt Courier New;margin:0'>&#160;</p> <p style='font:10pt Courier New;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>The Company does not allocate certain selling and administrative expenses for internal reporting, thus, no allocation was made for these expenses for segment disclosure purposes. &#160;Segment assets reported internally are limited to accounts receivable, inventory and long-lived assets. &#160;Certain long-lived assets of one plant location are allocated between the two segments based on estimated plant utilization, as this plant serves both fastener and assembly equipment activities. &#160;Other assets are not allocated to segments internally and to do so would be impracticable.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>The following table presents revenue by segment, further disaggregated by end-market:</p> <ix:nonNumeric name='us-gaap:DisaggregationOfRevenueTableTextBlock' contextRef='Y22_ProductOrService-EndMarket' escape='true'><p style='font:10pt Arial;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:center'> &#160;Fastener &#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:center'> &#160;Assembly Equipment &#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:center'> &#160;Consolidated &#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:148.5pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'><b>Year Ended December 31, </b><b>2022</b><b>:</b></span></p> </td>
<td valign='bottom' style='width:63pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Automotive</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_ProductOrService-Automotive_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>18,454,238</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>209,735</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_ProductOrService-Automotive' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>18,663,973</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:148.5pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Non-automotive</span></p> </td>
<td valign='bottom' style='width:63pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_ProductOrService-Nonautomotive_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>11,837,309</ix:nonFraction></p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,144,751</ix:nonFraction></p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_ProductOrService-Nonautomotive' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>14,982,060</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Total net sales</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>30,291,547</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,354,486</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>33,646,033</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:148.5pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:63pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Year Ended December 31, 2021:</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:148.5pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Automotive</span></p> </td>
<td valign='bottom' style='width:63pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_ProductOrService-Automotive_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>17,573,104</ix:nonFraction></p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>157,652</ix:nonFraction></p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_ProductOrService-Automotive' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>17,730,756</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Non-automotive</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'> <ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_ProductOrService-Nonautomotive_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>12,258,284</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'> <ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,985,518</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'> <ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_ProductOrService-Nonautomotive' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>16,243,802</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:148.5pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Total net sales</span></p> </td>
<td valign='bottom' style='width:63pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>29,831,388</ix:nonFraction></p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,143,170</ix:nonFraction></p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>33,974,558</ix:nonFraction></p> </td></tr> </table> <p style='font:10pt Arial;margin:0'>&#160;</p> </ix:nonNumeric><p style='font:10pt Courier New;margin:0'>&#160;</p> <p style='font:10pt Courier New;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>The following table presents revenue by segment, further disaggregated by location:</p> <ix:nonNumeric name='us-gaap:DisaggregationOfRevenueTableTextBlock' contextRef='Y22_StGeo-Location' escape='true'><p style='font:10pt Arial;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:center'> &#160;Fastener &#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:center'> &#160;Assembly Equipment &#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:center'> &#160;Consolidated &#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'><b>Year Ended December 31, 20</b><b>22</b><b>:</b></span></p> </td>
<td valign='bottom' style='width:61.35pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>United States</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_StGeo-US_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>24,955,181</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_StGeo-US_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,202,729</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_StGeo-US' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>28,157,910</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Foreign</span></p> </td>
<td valign='bottom' style='width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_StGeo-NonUs_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,336,366</ix:nonFraction></p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_StGeo-NonUs_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>151,757</ix:nonFraction></p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_StGeo-NonUs' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,488,123</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Total net sales</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>30,291,547</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,354,486</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>33,646,033</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Year Ended December 31, 2021:</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>United States</span></p> </td>
<td valign='bottom' style='width:61.35pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_StGeo-US_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>24,280,114</ix:nonFraction></p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_StGeo-US_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,053,102</ix:nonFraction></p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_StGeo-US' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>28,333,216</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Foreign</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_StGeo-NonUs_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,551,274</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_StGeo-NonUs_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>90,068</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_StGeo-NonUs' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,641,342</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:150.15pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Total net sales</span></p> </td>
<td valign='bottom' style='width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>29,831,388</ix:nonFraction></p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,143,170</ix:nonFraction></p> </td>
<td valign='bottom' style='width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>33,974,558</ix:nonFraction></p> </td></tr> </table> <p style='font:10pt Arial;margin:0'>&#160;</p> </ix:nonNumeric><p style='font:10pt Courier New;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>Sales to one customer in the fastener segment accounted for <ix:nonFraction name='us-gaap:ConcentrationRiskPercentage1' contextRef='Y22_MajCust-TIGroupAutomotiveSystems' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>15</ix:nonFraction>% of consolidated revenues during 2022 and <ix:nonFraction name='us-gaap:ConcentrationRiskPercentage1' contextRef='Y21_MajCust-TIGroupAutomotiveSystems' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>13</ix:nonFraction>% in 2021. &#160;The accounts receivable balance for this customer accounted for <ix:nonNumeric name='us-gaap:AdditionalInformationAboutEntitysReportableSegments' contextRef='Y22_MajCust-TIGroupAutomotiveSystems' escape='true'>19</ix:nonNumeric>% and <ix:nonNumeric name='us-gaap:AdditionalInformationAboutEntitysReportableSegments' contextRef='Y21_MajCust-TIGroupAutomotiveSystems' escape='true'>16</ix:nonNumeric>% of consolidated accounts receivable as of December 31, 2022 and 2021, respectively. &#160;Sales to a second customer in the fastener segment accounted for <ix:nonFraction name='us-gaap:ConcentrationRiskPercentage1' contextRef='Y22_MajCust-CooperStandardHoldingsInc' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>14</ix:nonFraction>% of consolidated revenues during 2022 and <ix:nonFraction name='us-gaap:ConcentrationRiskPercentage1' contextRef='Y21_MajCust-CooperStandardHoldingsInc' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>11</ix:nonFraction>% in 2021. &#160;The accounts receivable balance for this customer accounted for <ix:nonNumeric name='us-gaap:AdditionalInformationAboutEntitysReportableSegments' contextRef='Y22_MajCust-CooperStandardHoldingsInc' escape='true'>16</ix:nonNumeric>% and <ix:nonNumeric name='us-gaap:AdditionalInformationAboutEntitysReportableSegments' contextRef='Y21_MajCust-CooperStandardHoldingsInc' escape='true'>11</ix:nonNumeric>% of consolidated accounts receivable as of December 31, 2022 and 2021, respectively. &#160;Sales to a third customer were <ix:nonFraction name='us-gaap:ConcentrationRiskPercentage1' contextRef='Y21_MajCust-ParkerHannifinCorporation' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>12</ix:nonFraction>% of consolidated revenue in 2021. The accounts receivable balance for this customer accounted for <ix:nonNumeric name='us-gaap:AdditionalInformationAboutEntitysReportableSegments' contextRef='Y21_MajCust-ParkerHannifinCorporation' escape='true'>18</ix:nonNumeric>% of consolidated accounts receivable as of December 31, 2021.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> </ix:continuation><p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:AdditionalFinancialInformationDisclosureTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>7 - Gain on Sale of Property - </b> On August 12, 2022, the Company entered into a Purchase and Sale Agreement (the &#8220;PSA&#8221;) with Frontenac Properties LLC (the &#8220;Purchaser&#8221;) pursuant to which the Company agreed, subject to the terms and conditions of the PSA, to sell its facility in Naperville, Illinois, in which the Company&#8217;s headquarters and warehouse space are located, to the Purchaser. &#160;On September 27, 2022, the Company&#8217;s sale of the facility to the Purchaser was completed for a selling price of $5,350,000 in cash, less customary closing costs. The net gain on the transaction was $4,738,394. &#160;A portion of the net proceeds was invested in U.S. Treasury bills and is included in cash and cash equivalents as of December 31, 2022.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>Concurrently with the completion of the sale of the Naperville facility, the Company and the Purchaser entered into a lease agreement pursuant to which the Company leased the warehouse portion of the Naperville facility from the Purchaser until December 31, 2022 and the office portion until June 30, 2023. &#160;The monthly rent payable by the Company under the lease was $12,500 for the period from the closing until December 31, 2022 and will be $8,500 for the period from January 1, 2023 to June 30, 2023. &#160;The Company adopted the practical expedient for short-term leases under ASC 842 which allows for leases of 12 months or less to be expensed on a straight-line basis over the lease term without reporting on the balance sheet.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> </ix:nonNumeric><hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>24</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <ix:nonNumeric name='us-gaap:CommitmentsAndContingenciesDisclosureTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><b>8 - Commitments and Contingencies- </b>The Company recorded rent expense aggregating approximately $<ix:nonFraction name='us-gaap:OperatingLeasesRentExpenseNet' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>91,000</ix:nonFraction> and $<ix:nonFraction name='us-gaap:OperatingLeasesRentExpenseNet' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>27,000</ix:nonFraction> in 2022 and 2021, respectively. &#160;Total future minimum rentals at December 31, 2022 were $<ix:nonFraction name='us-gaap:OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>51,000</ix:nonFraction>.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>The Company is, from time to time involved in litigation, including environmental claims, in the normal course of business. &#160;While it is not possible at this time to establish the ultimate amount of liability with respect to contingent liabilities, including those related to legal proceedings, management is of the opinion that the aggregate amount of any such liabilities, for which provision has not been made, will not have a material adverse effect on the Company's financial position.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <ix:nonNumeric name='us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Courier New;margin:0'><span style='font-family:Arial'><b>9 - COVID-19</b><b>-</b><b> </b>In March 2020, the World Health Organization characterized the novel coronavirus (&#8220;COVID-19&#8221;) a pandemic and the President of the United States declared the COVID-19 outbreak a national emergency. &#160;The rapid spread of the virus and the response domestically and internationally to combat it had a significant negative impact on the global economy, including the automotive industry upon which we rely for sales. &#160;Beginning in March 2020, most states issued executive orders which temporarily closed businesses deemed non-essential in an effort to prevent the spread of the coronavirus. &#160;Similar measures also took place in foreign markets we serve. &#160;As a result, our operations and the operations of our customers and suppliers were adversely affected. &#160;While most shutdown orders were lifted later that year, various work-related restrictions remained in place for some time resulting in widespread economic disruption. &#160;As of the beginning of 2022, our operations had not returned to pre-pandemic levels and the pandemic continues to disrupt and have unpredictable impacts on our operations and the markets we serve, most notably in terms of labor shortages, supply chain disruptions and high inflation. &#160;These factors make the timing and sustainability of any broad economic recovery uncertain and will likely remain tied to the course of the pandemic. &#160;As we cannot predict the duration or scope of the COVID-19 pandemic, or its broader impact on the global economy, including the demand for automobiles, it is unknown what the impact of COVID-19 and its related effects will be on our business, results of operations or financial condition, but the impact could be material and last for an extended period of time.</span></p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <ix:nonNumeric name='us-gaap:ScheduleOfSubsequentEventsTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><b>10 - Subsequent Events- </b>On <ix:nonNumeric name='us-gaap:DividendsPayableDateDeclaredDayMonthAndYear' contextRef='Y22' format='ixt:datemonthdayyearen'>February 20, 2023</ix:nonNumeric>, the Board of Directors declared a regular quarterly dividend of $<ix:nonFraction name='us-gaap:DividendsPayableAmountPerShare' contextRef='E22' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.22</ix:nonFraction> per share, or $<ix:nonFraction name='us-gaap:DividendsPayableCurrent' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>212,549</ix:nonFraction>, payable <ix:nonNumeric name='us-gaap:DividendPayableDateToBePaidDayMonthAndYear' contextRef='Y22' format='ixt:datemonthdayyearen'>March 20, 2023</ix:nonNumeric> to shareholders of record on <ix:nonNumeric name='us-gaap:DividendsPayableDateOfRecordDayMonthAndYear' contextRef='Y22' format='ixt:datemonthdayyearen'>March 3, 2023</ix:nonNumeric>.</p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> </ix:nonNumeric><hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>25</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <a id='a13'></a><p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 9 - Changes in and Disagreements with Accountants on</b></span></p> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b> Accounting and Financial Disclosure</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>None.</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:-31.5pt'>&#160;</p> <a id='a14'></a><p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 9A &#8211;&#160;Controls and Procedures </b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>Disclosure Controls and Procedures. &#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The Company's management, with the participation of the Company's principal executive and principal financial officer, has evaluated the effectiveness of the Company's disclosure controls and procedures (as such term is defined in Rules 13a-15(e) and 15d-15(e) under the &quot;Exchange Act&quot;) as of the end of the period covered by this report. &#160;Based on such evaluation, the Company's principal executive and principal financial officer has concluded that, as of the end of such period, the Company's disclosure controls and procedures are effective in recording, processing, summarizing and reporting, on a timely basis, information required to be disclosed by the Company in the reports that it files or submits under the Exchange Act.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>Management&#8217;s Report on Internal Control Over Financial Reporting.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>The Company&#8217;s management is responsible for establishing and maintaining adequate internal control over financial reporting, as that term is defined in Exchange Act Rules 13a-15(f) and 15d-15(f). &#160;The Company&#8217;s management assessed the effectiveness of the Company&#8217;s internal control over financial reporting as of December 31, 2022, based on the 2013 criteria established in Internal Control&#8212;Integrated Framework, issued by the Committee of Sponsoring Organizations of the Treadway Commission (&#8220;COSO&#8221;). &#160;Based on this assessment, the Company&#8217;s management has concluded that the Company&#8217;s internal control over financial reporting is effective as of December 31, 2022.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>This Annual Report on form 10-K is not required to, and does not, include an attestation report of the Company&#8217;s registered public accounting firm on the Company&#8217;s internal control over financial reporting, because the Company is not an accelerated filer or a large accelerated filer as defined in Rule 12b-2 under the Exchange Act.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>Changes in Internal Control Over Financial Reporting.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>There have not been any changes in the Company's internal control over financial reporting (as such term is defined in Rules 13a-15(f) and 15d-15(f) under the Exchange Act) during the quarter ended December 31, 2022 that have materially affected, or are reasonably likely to materially affect, the Company&#8217;s internal control over financial reporting.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <a id='a15'></a><p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 9B &#8211;&#160;Other Information </b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>None.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <a id='a16'></a><p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 9</b><b>C</b><b> &#8211;&#160;</b><b>Disclosure Regarding Foreign Jurisdictions that Prevent Inspections</b><b> </b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>Not applicable.&#160;</p> <hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>26</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b>PART III</b></span></p> <p style='font:10pt Arial;margin:0;text-align:center'>&#160;</p> <p style='font:10pt Courier New;margin:0;text-align:center'>&#160;</p> <a id='a17'></a><p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 10 &#8211;&#160;Directors, Executive Officers and Corporate Governance</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The information in the Company&#8217;s 2023 Proxy Statement (i) with respect to the Board of Directors' nominees for directors that is not related to security ownership in &quot;Security Ownership of Management&quot; and (ii) in the third paragraph in &quot;Additional Information Concerning the Board of Directors and Committees&quot; is incorporated herein by reference. The 2023 Proxy Statement is to be filed with the Securities and Exchange Commission in connection with the Company's 2023 Annual Meeting of Shareholders. &#160;The information called for with respect to executive officers of the Company is included in Part I of this Annual Report on Form 10-K under the caption &quot;Information about our Executive Officers.&quot;&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The Company has adopted a code of ethics for its principal executive officer, chief operating officer and senior financial officers. &#160;A copy of this code of ethics was filed as Exhibit 14 to the Company's Annual Report on Form 10-K dated March 29, 2005.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <a id='a18'></a><p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 11 - Executive Compensation</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The information set forth in the Company&#8217;s 2023 Proxy Statement in &#8220;Compensation of Directors and Executive Officers&#8221; is incorporated herein by reference.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>During 2022, the Compensation Committee of the Board of Directors consisted of Directors Kent H. Cooney, Kurt Moders and Patricia M. Miller.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <a id='a19'></a><p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 12 - Security Ownership of Certain Beneficial</b><b> </b><b>Owners and Management and Related Stockholder Matters</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The information set forth in the Company's 2023 Proxy Statement in &#8220;Principal Shareholders&#8221; and the information with respect to security ownership of the Company's directors and officers set forth in &#8220;Security Ownership of Management&#8221; is incorporated herein by reference.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The Company does not have any equity compensation plans or arrangements. &#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <a id='a20'></a><p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 13 - Certain Relationships and Related Transactions, and Director </b><b>Independence</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'> &#160;&#160;</kbd><kbd style='margin-left:36pt'></kbd>The information set forth in the Company&#8217;s 2023 Proxy Statement in (i) &#8220;Additional Information Concerning the Board of Directors and Committees - Policy Regarding Related Person Transactions&#8221; and (ii) the first paragraph under &#8220;Additional Information Concerning the Board of Directors and Committees&#8221; is incorporated herein by reference.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <a id='a21'></a><p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 14 &#8211;&#160;Principal Accountant Fees and Services</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>The information set forth in the Company&#8217;s 2023 Proxy Statement in &#8220;Ratification of Selection of Independent Auditor &#8211;&#160;Audit and Non-Audit Fees&#8221; is incorporated herein by reference.&#160;</p> <hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>27</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b>PART IV</b></span></p> <p style='font:10pt Arial;margin:0;text-align:center'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <a id='a22'></a><p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 15 &#8211;&#160;Exhibits and Financial Statement Schedules</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:-72pt;margin-left:108pt'>(a) &#160;&#160;The following documents are filed as a part of this report:</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Times New Roman;margin-left:72pt'>1.</kbd><kbd style='margin-left:108pt'></kbd>Financial Statements:&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:108pt'>See the section entitled &quot;Consolidated Financial Statements&quot; in Item 8 of this report.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:108pt'><kbd style='position:absolute;font:10pt Arial;margin-left:-36pt'>2.</kbd>Financial Statement Schedules:&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:-36pt;margin-left:108pt'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:108pt'>Financial statement schedules and supplementary information have been omitted because they are not applicable or the required information is shown in the consolidated financial statements or notes thereto.</p> <p style='font:10pt Arial;margin:0;margin-left:108pt'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'> &#160;&#160;&#160;&#160;&#160;</kbd><kbd style='position:absolute;font:10pt Arial;margin-left:72pt'>3.</kbd><kbd style='margin-left:108pt'></kbd>Exhibits:&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:108pt'>See the section entitled &quot;Exhibits&quot; which appears on page 29 of this report.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <a id='a23'></a><p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'><b>ITEM 16 &#8211;&#160;Form 10-K Summary </b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>None.</p> <hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>28</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:532.8pt'>
<tr>
<td valign='top' style='width:51.4pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:481.4pt'><p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b>CHICAGO RIVET &amp; MACHINE CO.</b></span></p> </td></tr>
<tr style='height:21.6pt'>
<td valign='top' style='width:51.4pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:481.4pt'><p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b>EXHIBITS</b></span></p> </td></tr>
<tr>
<td valign='top' style='width:51.4pt'><p style='font:10pt Arial;margin:0'>Exhibit<br/><span style='border-bottom:1px solid #000000'>Number</span></p> </td>
<td valign='top' style='width:481.4pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:28.8pt'>
<td valign='middle' style='width:51.4pt'><p style='font:10pt Arial;margin:0'>2.1</p> </td>
<td valign='bottom' style='width:481.4pt'><p style='font:10pt Arial;margin:0'><a href="https://www.sec.gov/Archives/edgar/data/19871/000119312522255477/d402314dex21.htm">Purchase and Sale Agreement. &#160;Incorporated by reference to the Company&#8217;s Current Report on Form 8-K, dated September 30, 2022.</a></p> </td></tr>
<tr style='height:28.8pt'>
<td valign='middle' style='width:51.4pt'><p style='font:10pt Arial;margin:0'>3.1</p> </td>
<td valign='bottom' style='width:481.4pt'><p style='font:10pt Arial;margin:0'><a href="https://www.sec.gov/Archives/edgar/data/19871/0000950137-98-001287.txt">Articles of Incorporation, as last amended August 18, 1997. Incorporated by reference to the<br/>Company&#8217;s report on Form 10-K, dated March 27, 1998.</a></p> </td></tr>
<tr style='height:28.8pt'>
<td valign='middle' style='width:51.4pt'><p style='font:10pt Arial;margin:0'>3.2</p> </td>
<td valign='bottom' style='width:481.4pt'><p style='font:10pt Arial;margin:0'><a href="https://www.sec.gov/Archives/edgar/data/19871/000119312522080508/d288627dex32.htm">Amended and Restated By-Laws, as amended through March 22, 2021. &#160;Incorporated by reference<br/>to the Company&#8217;s report on Form 10-K, dated March 21, 2022.</a></p> </td></tr>
<tr style='height:28.8pt'>
<td valign='middle' style='width:51.4pt'><p style='font:10pt Arial;margin:0'>14</p> </td>
<td valign='bottom' style='width:481.4pt'><p style='font:10pt Arial;margin:0'><a href="https://www.sec.gov/Archives/edgar/data/19871/000095013705003788/c93305exv14.txt">Code of Ethics for Principal Executive and Senior Financial Officers. Incorporated by reference to<br/>the Company's report on Form 10-K, dated March 29, 2005.</a></p> </td></tr>
<tr style='height:21.6pt'>
<td valign='bottom' style='width:51.4pt'><p style='font:10pt Arial;margin:0'>21</p> </td>
<td valign='bottom' style='width:481.4pt'><p style='font:10pt Arial;margin:0'><a href="d486850dex21.htm">Subsidiaries of the Registrant.</a></p> </td></tr>
<tr style='height:28.8pt'>
<td valign='middle' style='width:51.4pt'><p style='font:10pt Arial;margin:0'>31</p> </td>
<td valign='bottom' style='width:481.4pt'><p style='font:10pt Arial;margin:0'><a href="d486850dex31.htm">Certification of Principal Executive Officer and Principal Financial Officer Pursuant to Rule 13a-14(a) or 15d-14(a) as Adopted Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.</a></p> </td></tr>
<tr style='height:28.8pt'>
<td valign='middle' style='width:51.4pt'><p style='font:10pt Arial;margin:0'>32</p> </td>
<td valign='bottom' style='width:481.4pt'><p style='font:10pt Arial;margin:0'><a href="d486850dex32.htm">Certification of Principal Executive Officer and Principal Financial Officer Pursuant to 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></p> </td></tr>
<tr style='height:28.8pt'>
<td valign='middle' style='width:51.4pt'><p style='font:10pt Arial;margin:0'>101.INS</p> </td>
<td valign='bottom' style='width:481.4pt'><p style='font:10pt Arial;margin:0'>Inline XBRL Instance Document &#8211;&#160;the instance document does not appear in the Interactive Data<br/>File because its XBRL tags are embedded within the Inline XBRL document.</p> </td></tr>
<tr style='height:14.4pt'>
<td valign='bottom' style='width:51.4pt'><p style='font:10pt Arial;margin:0'>101.SCH</p> </td>
<td valign='bottom' style='width:481.4pt'><p style='font:10pt Arial;margin:0'>File because its XBRL tags are embedded within the Inline XBRL document.</p> </td></tr>
<tr style='height:14.4pt'>
<td valign='bottom' style='width:51.4pt'><p style='font:10pt Arial;margin:0'>101.CAL</p> </td>
<td valign='bottom' style='width:481.4pt'><p style='font:10pt Arial;margin:0'>Inline XBRL Taxonomy Extension Calculation Linkbase Document</p> </td></tr>
<tr style='height:14.4pt'>
<td valign='bottom' style='width:51.4pt'><p style='font:10pt Arial;margin:0'>101.DEF</p> </td>
<td valign='bottom' style='width:481.4pt'><p style='font:10pt Arial;margin:0'>Inline XBRL Taxonomy Extension Definition Linkbase Document</p> </td></tr>
<tr style='height:14.4pt'>
<td valign='bottom' style='width:51.4pt'><p style='font:10pt Arial;margin:0'>101.LAB</p> </td>
<td valign='bottom' style='width:481.4pt'><p style='font:10pt Arial;margin:0'>Inline XBRL Taxonomy Extension Label Linkbase Document</p> </td></tr>
<tr style='height:14.4pt'>
<td valign='bottom' style='width:51.4pt'><p style='font:10pt Arial;margin:0'>101.PRE</p> </td>
<td valign='bottom' style='width:481.4pt'><p style='font:10pt Arial;margin:0'>Inline XBRL Taxonomy Extension Presentation Linkbase Document</p> </td></tr>
<tr>
<td valign='top' style='width:51.4pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:481.4pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='top' style='width:51.4pt'><p style='font:10pt Arial;margin:0'>104</p> </td>
<td valign='top' style='width:481.4pt'><p style='font:10pt Arial;margin:0'>Cover Page Interactive Data File (formatted in Inline XBRL and contained in Exhibit 101).</p> </td></tr> </table> <hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>29</p> <hr style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b>SIGNATURES</b></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>Pursuant to the requirements of Section 13 or 15(d) of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned, thereunto duly authorized.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</kbd><kbd style='margin-left:216pt'></kbd>Chicago Rivet &amp; Machine Co.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:216pt'>By<span style='border-bottom:1px solid #000000'> /s/Michael J. Bourg &#160;&#160;&#160;</span></p> <p style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:216pt'>Michael J. Bourg</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:216pt'>President and Chief Operating Officer</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>Pursuant to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the registrant and in the capacities and on the dates indicated:&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'><span style='border-bottom:1px solid #000000'>/s/James W. Morrissey</span></kbd><kbd style='margin-left:252pt'></kbd>Chairman of the Board of Directors&#160;</p> <p style='font:10pt Arial;margin:0;text-align:justify'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'>James W. Morrissey</kbd><kbd style='margin-left:252pt'></kbd>and Member of the Executive Committee &#160;</p> <p style='font:10pt Arial;margin:0;margin-right:-18pt;text-align:justify'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'> &#160;</kbd><kbd style='margin-left:252pt'></kbd><span style='border-bottom:1px solid #000000'>March 29, 2023</span>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'><span style='border-bottom:1px solid #000000'>/s/Michael J. Bourg</span></kbd><kbd style='margin-left:252pt'></kbd>President, Chief Operating Officer and Treasurer&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'>Michael J. Bourg</kbd><kbd style='margin-left:252pt'></kbd>(Principal Executive and Financial Officer),&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:216pt'>Director and Member of the Executive Committee</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:252pt'></kbd><span style='border-bottom:1px solid #000000'>March 29, 2023</span>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'><span style='border-bottom:1px solid #000000'>/s/Kent H. Cooney</span></kbd><kbd style='margin-left:252pt'></kbd>Director, Member of the Audit Committee&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'>Kent H. Cooney</kbd><kbd style='margin-left:252pt'></kbd><span style='border-bottom:1px solid #000000'>March 29, 2023</span>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'><span style='border-bottom:1px solid #000000'>/s/Kurt Moders</span><kbd style='display:inline-block;width:11.15pt;border-bottom:1px solid #000000'>&#160;</kbd></kbd><kbd style='margin-left:252pt'></kbd>Director&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'>Kurt Moders</kbd><kbd style='margin-left:252pt'></kbd><span style='border-bottom:1px solid #000000'>March 29, 2023</span>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'><span style='border-bottom:1px solid #000000'>/s/John L. Showel</span></kbd><kbd style='margin-left:252pt'></kbd>Director, Member of the Audit Committee&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='position:absolute;font:10pt Arial;margin-left:0pt'>John L. Showel</kbd><kbd style='margin-left:252pt'></kbd><span style='border-bottom:1px solid #000000'>March 29, 2023</span>&#160;</p> <hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>30</p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> </div> </body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-21
<SEQUENCE>2
<FILENAME>d486850dex21.htm
<DESCRIPTION>EX-21
<TEXT>
<HTML><HEAD>
<TITLE>EX-21</TITLE>
</HEAD>
  <BODY> <DIV><P style='font:10pt Arial;margin:0'><A name=_dv_m189 />
<A name=_dv_m190 /><A name=_dv_m191 /><A name=_dv_m192 /><A name=_dv_m193 /><A name=_dv_m194 /><A name=_dv_m195 /><A name=_dv_m196 /><A name=_dv_m197 /><A name=_dv_m198 /><A name=_dv_m199 /><A name=_dv_m200 /><A name=_dv_m201 /><A name=_dv_m202 />&nbsp;
</P> <P align=center style='font:10pt Arial;margin:0'><FONT style='border-bottom:1px solid #000000'><B>Exhibit 21</B></FONT></P> <P align=center style='font:10pt Arial;margin:0'>&nbsp;</P> <P align=center style='font:10pt Arial;margin:0'><FONT
style='border-bottom:1px solid #000000'><B>CHICAGO RIVET &amp; MACHINE CO.</B></FONT></P> <P align=center style='font:10pt Arial;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Arial;margin:0'><FONT style='border-bottom:1px solid #000000'><B>SUBSIDIARIES OF THE REGISTRANT</B></FONT></P> <P align=center style='font:10pt Arial;margin:0'>&nbsp;</P>
<P align=center style='font:12pt Arial;margin:0'>&nbsp;</P> <P align=center style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'><KBD style=margin-left:36pt></KBD>The Company&#8217;s only subsidiary is H &amp; L Tool
Company, Inc., which is wholly-owned and is organized in the State of Illinois.&nbsp;</P> <HR style='border:0;height:0;width:0;margin:14pt 0 0 0'></DIV> </BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31
<SEQUENCE>3
<FILENAME>d486850dex31.htm
<DESCRIPTION>EX-31
<TEXT>
<HTML><HEAD>
<TITLE>EX-31</TITLE>
</HEAD>
  <BODY> <DIV><P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Arial;margin:0'><B>Exhibit 31</B></P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'>I, Michael J. Bourg, certify that:</P>
<P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:36pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>1.</KBD>I have reviewed this annual report on Form 10-K of Chicago Rivet &amp;
Machine Co.;&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:36pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>2.</KBD>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;&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:36pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>3.</KBD>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;&nbsp;</P>
<P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:36pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>4.</KBD>The registrant&#8217;s other certifying officer(s) and I are responsible for
establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant
and have:&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>a)</KBD>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;&nbsp;</P> <P style='font:10pt Arial;margin:0;text-indent:-36pt;margin-left:72pt'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>b)</KBD>Designed such internal control over financial reporting, or caused such internal control over financial reporting to be
designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;&nbsp;</P>
<P style='font:10pt Arial;margin:0;text-indent:-36pt;margin-left:72pt'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>c)</KBD>Evaluated the effectiveness of the
registrant&#8217;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&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>d)</KBD>Disclosed in this report any change in the registrant&#8217;s
internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to
materially affect, the registrant&#8217;s internal control over financial reporting; and&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:36pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>5.</KBD>The registrant&#8217;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal
control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions):&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>a)</KBD>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&#8217;s ability to record, process, summarize and report financial information; and&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>b)</KBD>Any fraud, whether or not material, that involves management or other employees who have a significant role in the
registrant&#8217;s internal control over financial reporting.&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0'><KBD style='position:absolute;font:10pt Arial;margin-left:0pt'>Date: &nbsp;March 29, 2023 </KBD><KBD style=margin-left:144pt></KBD><FONT style='border-bottom:1px solid #000000'>/s/ Michael J. Bourg</FONT>
&nbsp;&nbsp;&nbsp;&nbsp;</P> <P style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:108pt'>Michael J. Bourg</P> <P style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:108pt'>President, Chief Operating Officer and Treasurer</P>
<P style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:108pt'> (Principal Executive Officer and Principal Financial Officer)</P> <HR style='border:0;height:0;width:0;margin:14pt 0 0 0'></DIV> </BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32
<SEQUENCE>4
<FILENAME>d486850dex32.htm
<DESCRIPTION>EX-32
<TEXT>
<HTML><HEAD>
<TITLE>EX-32</TITLE>
</HEAD>
  <BODY> <DIV><P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:144pt'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:144pt'>&nbsp;</P> <P align=center style='font:10pt Arial;margin:0'><B>Exhibit 32</B></P>
<P align=center style='font:10pt Arial;margin:0'>&nbsp;</P> <P align=center style='font:10pt Arial;margin:0'>&nbsp;</P> <P align=center style='font:10pt Arial;margin:0'><B>Certification Pursuant to</B></P>
<P align=center style='font:10pt Arial;margin:0'><B>18 U.S.C. Section 1350,</B></P> <P align=center style='font:10pt Arial;margin:0'><B>as Adopted Pursuant to</B></P> <P align=center style='font:10pt Arial;margin:0'><B>Section 906 of the
Sarbanes-Oxley Act of 2002</B></P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'>In connection with the Annual Report on Form 10-K of Chicago Rivet &amp; Machine Co. (the &quot;Company&quot;) for the period ended
December 31, 2022 as filed with the Securities and Exchange Commission on the date hereof (the &quot;Report&quot;), I, Michael J. Bourg, as President, Chief Operating Officer and Treasurer(and, as such, the principal executive officer and principal
financial officer) of the Company, hereby certify, pursuant to 18 U.S.C. &#167;&nbsp;1350, as adopted pursuant to &#167;&nbsp;906 of the Sarbanes-Oxley Act of 2002, that, to the best of my knowledge:</P>
<P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:36pt'>(1)</KBD><KBD style=margin-left:72pt></KBD>the Report fully complies with the requirements
of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:36pt'>(2)</KBD><KBD style=margin-left:72pt></KBD>the information contained in the Report fairly presents, in all material respects, the financial
condition and results of operations of the Company.&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'><FONT style='border-bottom:1px solid #000000'>/s/ Michael
J. Bourg</FONT></P> <P style='font:10pt Arial;margin:0'>Name: Michael J. Bourg</P> <P style='font:10pt Arial;margin:0'>Title: &nbsp;&nbsp;President, Chief Operating Officer and Treasurer</P>
<P style='font:10pt Arial;margin:0;text-indent:36pt'>(Principal Executive Officer and Principal Financial Officer)</P> <P style='font:10pt Arial;margin:0'>Date: &nbsp;&nbsp;March 29, 2023</P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'></DIV> </BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>5
<FILENAME>cvr-20221231.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2023 [PPXC1A0KDJ2KVDCJENC7]. www.edgarsuite.com -->
<schema xmlns:cef='http://xbrl.sec.gov/cef/2022' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:country='http://xbrl.sec.gov/country/2022' xmlns:us-gaap='http://fasb.org/us-gaap/2022' xmlns:srt='http://fasb.org/srt/2022' xmlns:fil='http://www.chicagorivet.com/20221231' xmlns:dei='http://xbrl.sec.gov/dei/2022q4' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xbrldt='http://xbrl.org/2005/xbrldt' targetNamespace='http://www.chicagorivet.com/20221231' xmlns:dtr-types='http://www.xbrl.org/dtr/type/2020-01-21' xmlns:link='http://www.xbrl.org/2003/linkbase' xmlns:xbrli='http://www.xbrl.org/2003/instance' elementFormDefault='qualified' attributeFormDefault='unqualified'>
	<annotation>
		<appinfo>
			<link:linkbaseRef xlink:type="simple" xlink:href="cvr-20221231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
			<link:linkbaseRef xlink:type="simple" xlink:href="cvr-20221231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
			<link:linkbaseRef xlink:type="simple" xlink:href="cvr-20221231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
			<link:linkbaseRef xlink:type="simple" xlink:href="cvr-20221231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables" id="idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables">
				<link:definition>000250 - Disclosure - 3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails" id="idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails">
				<link:definition>000370 - Disclosure - 3 - Income Taxes: Provision for Income Tax Expense (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" id="idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails">
				<link:definition>000390 - Disclosure - 3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxes" id="idr_Disclosure3IncomeTaxes">
				<link:definition>000100 - Disclosure - 3 - Income Taxes</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails" id="idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails">
				<link:definition>000310 - Disclosure - Uncertain Tax Positions and Unrecognized Tax Benefits (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails" id="idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails">
				<link:definition>000300 - Disclosure - Estimated Useful Lives by Asset Category (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets" id="idr_StatementConsolidatedBalanceSheets">
				<link:definition>000020 - Statement - Consolidated Balance Sheets</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncome" id="idr_Disclosure5OtherIncome">
				<link:definition>000120 - Disclosure - 5 - Other Income</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails" id="idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails">
				<link:definition>000350 - Disclosure - 2 - Balance Sheet Details: Other Accrued Expenses (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails" id="idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails">
				<link:definition>000380 - Disclosure - 3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformation" id="idr_Disclosure6SegmentInformation">
				<link:definition>000130 - Disclosure - 6 - Segment Information</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails" id="idr_Disclosure2BalanceSheetDetailsInventoryDetails">
				<link:definition>000330 - Disclosure - 2 - Balance Sheet Details: Inventory (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables" id="idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables">
				<link:definition>000240 - Disclosure - 3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables" id="idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables">
				<link:definition>000280 - Disclosure - 6 - Segment Information: Disaggregation of Revenue (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables" id="idr_Disclosure2BalanceSheetDetailsInventoryTables">
				<link:definition>000190 - Disclosure - 2 - Balance Sheet Details: Inventory (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails" id="idr_Disclosure5OtherIncomeOtherIncomeDetails">
				<link:definition>000420 - Disclosure - 5 - Other Income: Other Income (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical" id="idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical">
				<link:definition>000060 - Statement - Consolidated Statements of Shareholders&apos; Equity - Parenthetical</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure4ProfitSharingPlan" id="idr_Disclosure4ProfitSharingPlan">
				<link:definition>000110 - Disclosure - 4 - Profit Sharing Plan</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetails" id="idr_Disclosure2BalanceSheetDetails">
				<link:definition>000090 - Disclosure - 2 - Balance Sheet Details</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure10SubsequentEvents" id="idr_Disclosure10SubsequentEvents">
				<link:definition>000170 - Disclosure - 10 - Subsequent Events</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure8CommitmentsAndContingencies" id="idr_Disclosure8CommitmentsAndContingencies">
				<link:definition>000150 - Disclosure - 8 - Commitments and Contingencies</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity" id="idr_StatementConsolidatedStatementsOfShareholdersEquity">
				<link:definition>000050 - Statement - Consolidated Statements of Shareholders&apos; Equity</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure7AdditionalFinancialInformationDisclosure" id="idr_Disclosure7AdditionalFinancialInformationDisclosure">
				<link:definition>000140 - Disclosure - 7 - Additional Financial Information Disclosure</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureSignificantAccountingPoliciesPolicies" id="idr_DisclosureSignificantAccountingPoliciesPolicies">
				<link:definition>000180 - Disclosure - Significant Accounting Policies (Policies)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies" id="idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies">
				<link:definition>000080 - Disclosure - 1 - Nature of Business and Significant Accounting Policies</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureDeferredRevenueRecognizedDetails" id="idr_DisclosureDeferredRevenueRecognizedDetails">
				<link:definition>000290 - Disclosure - Deferred Revenue Recognized (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureCommitmentsAndContingenciesDetails" id="idr_DisclosureCommitmentsAndContingenciesDetails">
				<link:definition>000460 - Disclosure - Commitments and Contingencies (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails" id="idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails">
				<link:definition>000450 - Disclosure - Summary of % of Revenues and A/R from Major Customers (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables" id="idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables">
				<link:definition>000210 - Disclosure - 2 - Balance Sheet Details: Other Accrued Expenses (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureProfitSharingPlanDetails" id="idr_DisclosureProfitSharingPlanDetails">
				<link:definition>000410 - Disclosure - Profit Sharing Plan (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables" id="idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables">
				<link:definition>000220 - Disclosure - 2 - Balance Sheet Details: Schedule of Valuation and Qualifying Accounts (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation" id="idr_DocumentDocumentAndEntityInformation">
				<link:definition>000010 - Document - Document and Entity Information</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails" id="idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails">
				<link:definition>000360 - Disclosure - Schedule of Valuation and Qualifying Accounts (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables" id="idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables">
				<link:definition>000270 - Disclosure - 6 - Segment Information: Schedule of Segment Reporting Information (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows" id="idr_StatementConsolidatedStatementsOfCashFlows">
				<link:definition>000070 - Statement - Consolidated Statements of Cash Flows</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables" id="idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables">
				<link:definition>000200 - Disclosure - 2 - Balance Sheet Details: Property, Plant and Equipment (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails" id="idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails">
				<link:definition>000320 - Disclosure - Weighted Avg. Number of Shares Outstanding (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheetsParenthetical" id="idr_StatementConsolidatedBalanceSheetsParenthetical">
				<link:definition>000030 - Statement - Consolidated Balance Sheets - Parenthetical</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails" id="idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails">
				<link:definition>000340 - Disclosure - 2 - Balance Sheet Details: Property, Plant and Equipment (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails" id="idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails">
				<link:definition>000430 - Disclosure - 6 - Segment Information: Schedule of Segment Reporting Information (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureOtherIncomeTaxDisclosuresDetails" id="idr_DisclosureOtherIncomeTaxDisclosuresDetails">
				<link:definition>000400 - Disclosure - Other Income Tax Disclosures (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails" id="idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails">
				<link:definition>000440 - Disclosure - 6 - Segment Information: Disaggregation of Revenue (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables" id="idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables">
				<link:definition>000230 - Disclosure - 3 - Income Taxes: Provision for Income Tax Expense (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure9Covid19" id="idr_Disclosure9Covid19">
				<link:definition>000160 - Disclosure - 9 - COVID-19</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome" id="idr_StatementConsolidatedStatementsOfIncome">
				<link:definition>000040 - Statement - Consolidated Statements of Income</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncomeOtherIncomeTables" id="idr_Disclosure5OtherIncomeOtherIncomeTables">
				<link:definition>000260 - Disclosure - 5 - Other Income: Other Income (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureSubsequentEventsDetails" id="idr_DisclosureSubsequentEventsDetails">
				<link:definition>000470 - Disclosure - Subsequent Events (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
		</appinfo>
	</annotation>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2005/xbrldt-2005.xsd' namespace='http://xbrl.org/2005/xbrldt'/>
	<import schemaLocation='https://www.xbrl.org/dtr/type/2020-01-21/types.xsd' namespace='http://www.xbrl.org/dtr/type/2020-01-21'/>
	<import namespace='http://xbrl.sec.gov/dei/2022q4' schemaLocation='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd'/>
	<import namespace='http://fasb.org/us-gaap/2022' schemaLocation='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_EndMarketMember' name='EndMarketMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_AutomotiveMember' name='AutomotiveMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_NonautomotiveMember' name='NonautomotiveMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_LocationMember' name='LocationMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_FastenerMember' name='FastenerMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_AssemblyEquipmentMember' name='AssemblyEquipmentMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_UnallocatedCorporateMember' name='UnallocatedCorporateMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_TIGroupAutomotiveSystemsMember' name='TIGroupAutomotiveSystemsMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_CooperStandardHoldingsIncMember' name='CooperStandardHoldingsIncMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_ParkerHannifinCorporationMember' name='ParkerHannifinCorporationMember'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='credit' id='fil_SegmentOperatingProfit' name='SegmentOperatingProfit'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='debit' id='fil_SellingAndAdministrativeExpensesUnallocatedCorporate' name='SellingAndAdministrativeExpensesUnallocatedCorporate'/>
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>6
<FILENAME>cvr-20221231_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2023 [PPXC1A0KDJ2KVDCJENC7]. www.edgarsuite.com -->
<link:linkbase xmlns="http://www.xbrl.org/2003/linkbase"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"
		xmlns:fil="http://www.chicagorivet.com/20221231"
		xmlns:link="http://www.xbrl.org/2003/linkbase"
		xmlns:xlink="http://www.w3.org/1999/xlink"
		xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
		xmlns:xbrli="http://www.xbrl.org/2003/instance">
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_StatementConsolidatedBalanceSheets"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent' xlink:label='us-gaap_AssetsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_CashAndCashEquivalentsAtCarryingValue' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CertificatesOfDepositAtCarryingValue' xlink:label='us-gaap_CertificatesOfDepositAtCarryingValue'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_CertificatesOfDepositAtCarryingValue' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent' xlink:label='us-gaap_AccountsReceivableNetCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_AccountsReceivableNetCurrent' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_InventoryNet' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidTaxes' xlink:label='us-gaap_PrepaidTaxes'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_PrepaidTaxes' use='optional' order='5.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsCurrent' xlink:label='us-gaap_OtherAssetsCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_OtherAssetsCurrent' use='optional' order='6.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets' xlink:label='us-gaap_Assets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Assets' xlink:to='us-gaap_AssetsCurrent' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Assets' xlink:to='us-gaap_PropertyPlantAndEquipmentNet' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent' xlink:label='us-gaap_LiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent' xlink:label='us-gaap_AccountsPayableCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesCurrent' xlink:to='us-gaap_AccountsPayableCurrent' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent' xlink:label='us-gaap_EmployeeRelatedLiabilitiesCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesCurrent' xlink:to='us-gaap_EmployeeRelatedLiabilitiesCurrent' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesCurrent' xlink:to='us-gaap_AccruedLiabilitiesCurrent' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerAdvancesAndDepositsCurrent' xlink:label='us-gaap_CustomerAdvancesAndDepositsCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesCurrent' xlink:to='us-gaap_CustomerAdvancesAndDepositsCurrent' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities' xlink:label='us-gaap_Liabilities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Liabilities' xlink:to='us-gaap_LiabilitiesCurrent' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet' xlink:label='us-gaap_DeferredIncomeTaxLiabilitiesNet'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Liabilities' xlink:to='us-gaap_DeferredIncomeTaxLiabilitiesNet' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity' xlink:label='us-gaap_LiabilitiesAndStockholdersEquity'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesAndStockholdersEquity' xlink:to='us-gaap_Liabilities' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesAndStockholdersEquity' xlink:to='us-gaap_StockholdersEquity' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue' xlink:label='us-gaap_PreferredStockValue'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_PreferredStockValue' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValueOutstanding' xlink:label='us-gaap_CommonStockValueOutstanding'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_CommonStockValueOutstanding' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapital' xlink:label='us-gaap_AdditionalPaidInCapital'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_AdditionalPaidInCapital' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit' xlink:label='us-gaap_RetainedEarningsAccumulatedDeficit'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_RetainedEarningsAccumulatedDeficit' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockValue' xlink:label='us-gaap_TreasuryStockValue'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_TreasuryStockValue' use='optional' order='5.0' weight='-1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_StatementConsolidatedStatementsOfIncome"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit' xlink:label='us-gaap_GrossProfit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues' xlink:label='us-gaap_Revenues'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_GrossProfit' xlink:to='us-gaap_Revenues' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfRevenue' xlink:label='us-gaap_CostOfRevenue'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_GrossProfit' xlink:to='us-gaap_CostOfRevenue' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss' xlink:label='us-gaap_OperatingIncomeLoss'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_OperatingIncomeLoss' xlink:to='us-gaap_GrossProfit' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses' xlink:label='us-gaap_OperatingExpenses'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_OperatingIncomeLoss' xlink:to='us-gaap_OperatingExpenses' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpense' xlink:label='us-gaap_SellingGeneralAndAdministrativeExpense'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_OperatingExpenses' xlink:to='us-gaap_SellingGeneralAndAdministrativeExpense' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment' xlink:label='us-gaap_GainLossOnSaleOfPropertyPlantEquipment'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_OperatingExpenses' xlink:to='us-gaap_GainLossOnSaleOfPropertyPlantEquipment' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:to='us-gaap_OperatingIncomeLoss' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense' xlink:label='us-gaap_OtherNonoperatingIncomeExpense'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:to='us-gaap_OtherNonoperatingIncomeExpense' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetIncomeLoss' xlink:to='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetIncomeLoss' xlink:to='us-gaap_IncomeTaxExpenseBenefit' use='optional' order='2.0' weight='-1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_StatementConsolidatedStatementsOfCashFlows"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_NetIncomeLoss' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation' xlink:label='us-gaap_Depreciation'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_Depreciation' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnDispositionOfAssets' xlink:label='us-gaap_GainLossOnDispositionOfAssets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_GainLossOnDispositionOfAssets' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:label='us-gaap_DeferredIncomeTaxExpenseBenefit'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_DeferredIncomeTaxExpenseBenefit' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:label='us-gaap_IncreaseDecreaseInAccountsReceivable'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInAccountsReceivable' use='optional' order='5.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories' xlink:label='us-gaap_IncreaseDecreaseInInventories'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInInventories' use='optional' order='6.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets' xlink:label='us-gaap_IncreaseDecreaseInOtherOperatingAssets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInOtherOperatingAssets' use='optional' order='7.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable' xlink:label='us-gaap_IncreaseDecreaseInAccountsPayable'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInAccountsPayable' use='optional' order='8.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' use='optional' order='9.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInOtherAccruedLiabilities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' use='optional' order='10.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' xlink:label='us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' use='optional' order='11.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:label='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:to='us-gaap_NetCashProvidedByUsedInOperatingActivities' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:to='us-gaap_NetCashProvidedByUsedInInvestingActivities' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:to='us-gaap_NetCashProvidedByUsedInFinancingActivities' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireProductiveAssets' xlink:label='us-gaap_PaymentsToAcquireProductiveAssets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='us-gaap_PaymentsToAcquireProductiveAssets' use='optional' order='1.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment' xlink:label='us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' xlink:label='us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities' xlink:label='us-gaap_PaymentsToAcquireHeldToMaturitySecurities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='us-gaap_PaymentsToAcquireHeldToMaturitySecurities' use='optional' order='4.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDividendsCommonStock' xlink:label='us-gaap_PaymentsOfDividendsCommonStock'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:to='us-gaap_PaymentsOfDividendsCommonStock' use='optional' order='1.0' weight='-1.0'/>
	</link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>7
<FILENAME>cvr-20221231_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2023 [PPXC1A0KDJ2KVDCJENC7]. www.edgarsuite.com -->
<link:linkbase xmlns="http://www.xbrl.org/2003/linkbase"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"
		xmlns:fil="http://www.chicagorivet.com/20221231"
		xmlns:link="http://www.xbrl.org/2003/linkbase"
		xmlns:xlink="http://www.w3.org/1999/xlink"
		xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
		xmlns:xbrli="http://www.xbrl.org/2003/instance">
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all"/>
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension"/>
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default"/>
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain"/>
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_DocumentDocumentAndEntityInformation"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_StatementConsolidatedBalanceSheets"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_StatementConsolidatedBalanceSheetsParenthetical"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheetsParenthetical"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_StatementConsolidatedStatementsOfIncome"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_StatementConsolidatedStatementsOfShareholdersEquity"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis' xlink:label='us-gaap_StatementEquityComponentsAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementEquityComponentsAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_EquityComponentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_EquityComponentDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockMember' xlink:label='us-gaap_PreferredStockMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_PreferredStockMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember' xlink:label='us-gaap_CommonStockMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_CommonStockMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember' xlink:label='us-gaap_AdditionalPaidInCapitalMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_AdditionalPaidInCapitalMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember' xlink:label='us-gaap_RetainedEarningsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_RetainedEarningsMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockMember' xlink:label='us-gaap_TreasuryStockMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_TreasuryStockMember' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockholdersEquity' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding' xlink:label='us-gaap_CommonStockSharesOutstanding'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_CommonStockSharesOutstanding' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockShares' xlink:label='us-gaap_TreasuryStockShares'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_TreasuryStockShares' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_NetIncomeLoss' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Dividends' xlink:label='us-gaap_Dividends'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_Dividends' use='optional' order='5.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_StatementConsolidatedStatementsOfCashFlows"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure2BalanceSheetDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxes" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure3IncomeTaxes"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxes"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure4ProfitSharingPlan" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure4ProfitSharingPlan"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure4ProfitSharingPlan"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncome" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure5OtherIncome"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncome"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformation" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure6SegmentInformation"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformation"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure7AdditionalFinancialInformationDisclosure" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure7AdditionalFinancialInformationDisclosure"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure7AdditionalFinancialInformationDisclosure"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure8CommitmentsAndContingencies" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure8CommitmentsAndContingencies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure8CommitmentsAndContingencies"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure9Covid19" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure9Covid19"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure9Covid19"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure10SubsequentEvents" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure10SubsequentEvents"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure10SubsequentEvents"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_DisclosureSignificantAccountingPoliciesPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure2BalanceSheetDetailsInventoryTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncomeOtherIncomeTables" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure5OtherIncomeOtherIncomeTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncomeOtherIncomeTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis' xlink:label='srt_ProductOrServiceAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_ProductOrServiceAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_EndMarketMember' xlink:label='fil_EndMarketMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ProductsAndServicesDomain' xlink:to='fil_EndMarketMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis' xlink:label='srt_StatementGeographicalAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_StatementGeographicalAxis' use='optional' order='2.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_LocationMember' xlink:label='fil_LocationMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_SegmentGeographicalDomain' xlink:to='fil_LocationMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock' xlink:label='us-gaap_DisaggregationOfRevenueTableTextBlock'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_DisaggregationOfRevenueTableTextBlock' use='optional' order='1.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureDeferredRevenueRecognizedDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_DisclosureDeferredRevenueRecognizedDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_DisclosureDeferredRevenueRecognizedDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:label='us-gaap_PropertyPlantAndEquipmentByTypeAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_PropertyPlantAndEquipmentByTypeAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:label='us-gaap_PropertyPlantAndEquipmentTypeDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_PropertyPlantAndEquipmentTypeDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:label='us-gaap_PropertyPlantAndEquipmentTypeDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_PropertyPlantAndEquipmentTypeDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandImprovementsMember' xlink:label='us-gaap_LandImprovementsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:to='us-gaap_LandImprovementsMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingImprovementsMember' xlink:label='us-gaap_BuildingImprovementsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:to='us-gaap_BuildingImprovementsMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentMember' xlink:label='us-gaap_MachineryAndEquipmentMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:to='us-gaap_MachineryAndEquipmentMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SoftwareAndSoftwareDevelopmentCostsMember' xlink:label='us-gaap_SoftwareAndSoftwareDevelopmentCostsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:to='us-gaap_SoftwareAndSoftwareDevelopmentCostsMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember' xlink:label='us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:to='us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis' xlink:label='srt_RangeAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_RangeAxis' use='optional' order='2.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember' xlink:label='srt_RangeMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember' xlink:label='srt_RangeMember_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember' xlink:label='srt_MinimumMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_RangeMember' xlink:to='srt_MinimumMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember' xlink:label='srt_MaximumMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_RangeMember' xlink:to='srt_MaximumMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife' xlink:label='us-gaap_PropertyPlantAndEquipmentUsefulLife'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PropertyPlantAndEquipmentUsefulLife' use='optional' order='1.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure2BalanceSheetDetailsInventoryDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:label='us-gaap_ValuationAllowancesAndReservesTypeAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_ValuationAllowancesAndReservesTypeAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain' xlink:label='us-gaap_ValuationAllowancesAndReservesDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:to='us-gaap_ValuationAllowancesAndReservesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain' xlink:label='us-gaap_ValuationAllowancesAndReservesDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:to='us-gaap_ValuationAllowancesAndReservesDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossMember' xlink:label='us-gaap_AllowanceForCreditLossMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_ValuationAllowancesAndReservesDomain' xlink:to='us-gaap_AllowanceForCreditLossMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryValuationReserveMember' xlink:label='us-gaap_InventoryValuationReserveMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_ValuationAllowancesAndReservesDomain' xlink:to='us-gaap_InventoryValuationReserveMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesBalance' xlink:label='us-gaap_ValuationAllowancesAndReservesBalance'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ValuationAllowancesAndReservesBalance' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense' xlink:label='us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDeductions' xlink:label='us-gaap_ValuationAllowancesAndReservesDeductions'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ValuationAllowancesAndReservesDeductions' use='optional' order='3.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureOtherIncomeTaxDisclosuresDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_DisclosureOtherIncomeTaxDisclosuresDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_DisclosureOtherIncomeTaxDisclosuresDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureProfitSharingPlanDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_DisclosureProfitSharingPlanDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_DisclosureProfitSharingPlanDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure5OtherIncomeOtherIncomeDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis' xlink:label='us-gaap_StatementBusinessSegmentsAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementBusinessSegmentsAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain' xlink:label='us-gaap_SegmentDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='us-gaap_SegmentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain' xlink:label='us-gaap_SegmentDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='us-gaap_SegmentDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_FastenerMember' xlink:label='fil_FastenerMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_SegmentDomain' xlink:to='fil_FastenerMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_AssemblyEquipmentMember' xlink:label='fil_AssemblyEquipmentMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_SegmentDomain' xlink:to='fil_AssemblyEquipmentMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_UnallocatedCorporateMember' xlink:label='fil_UnallocatedCorporateMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_SegmentDomain' xlink:to='fil_UnallocatedCorporateMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues' xlink:label='us-gaap_Revenues'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_Revenues' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation' xlink:label='us-gaap_Depreciation'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_Depreciation' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_SegmentOperatingProfit' xlink:label='fil_SegmentOperatingProfit'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_SegmentOperatingProfit' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_SellingAndAdministrativeExpensesUnallocatedCorporate' xlink:label='fil_SellingAndAdministrativeExpensesUnallocatedCorporate'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_SellingAndAdministrativeExpensesUnallocatedCorporate' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment' xlink:label='us-gaap_GainLossOnSaleOfPropertyPlantEquipment'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_GainLossOnSaleOfPropertyPlantEquipment' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestAndOtherIncome' xlink:label='us-gaap_InterestAndOtherIncome'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_InterestAndOtherIncome' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:label='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent' xlink:label='us-gaap_AccountsReceivableNetCurrent'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_AccountsReceivableNetCurrent' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_InventoryNet' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PropertyPlantAndEquipmentNet' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssets' xlink:label='us-gaap_OtherAssets'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_OtherAssets' use='optional' order='11.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis' xlink:label='us-gaap_StatementBusinessSegmentsAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementBusinessSegmentsAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain' xlink:label='us-gaap_SegmentDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='us-gaap_SegmentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain' xlink:label='us-gaap_SegmentDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='us-gaap_SegmentDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_FastenerMember' xlink:label='fil_FastenerMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_SegmentDomain' xlink:to='fil_FastenerMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_AssemblyEquipmentMember' xlink:label='fil_AssemblyEquipmentMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_SegmentDomain' xlink:to='fil_AssemblyEquipmentMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis' xlink:label='srt_ProductOrServiceAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_ProductOrServiceAxis' use='optional' order='2.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_AutomotiveMember' xlink:label='fil_AutomotiveMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ProductsAndServicesDomain' xlink:to='fil_AutomotiveMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_NonautomotiveMember' xlink:label='fil_NonautomotiveMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ProductsAndServicesDomain' xlink:to='fil_NonautomotiveMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis' xlink:label='srt_StatementGeographicalAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_StatementGeographicalAxis' use='optional' order='3.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US' xlink:label='country_US'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_SegmentGeographicalDomain' xlink:to='country_US' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonUsMember' xlink:label='us-gaap_NonUsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_SegmentGeographicalDomain' xlink:to='us-gaap_NonUsMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:label='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' use='optional' order='1.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis' xlink:label='srt_MajorCustomersAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_MajorCustomersAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain' xlink:label='srt_NameOfMajorCustomerDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_MajorCustomersAxis' xlink:to='srt_NameOfMajorCustomerDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain' xlink:label='srt_NameOfMajorCustomerDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_MajorCustomersAxis' xlink:to='srt_NameOfMajorCustomerDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_TIGroupAutomotiveSystemsMember' xlink:label='fil_TIGroupAutomotiveSystemsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_NameOfMajorCustomerDomain' xlink:to='fil_TIGroupAutomotiveSystemsMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_CooperStandardHoldingsIncMember' xlink:label='fil_CooperStandardHoldingsIncMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_NameOfMajorCustomerDomain' xlink:to='fil_CooperStandardHoldingsIncMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_ParkerHannifinCorporationMember' xlink:label='fil_ParkerHannifinCorporationMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_NameOfMajorCustomerDomain' xlink:to='fil_ParkerHannifinCorporationMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1' xlink:label='us-gaap_ConcentrationRiskPercentage1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ConcentrationRiskPercentage1' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalInformationAboutEntitysReportableSegments' xlink:label='us-gaap_AdditionalInformationAboutEntitysReportableSegments'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_AdditionalInformationAboutEntitysReportableSegments' use='optional' order='2.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureCommitmentsAndContingenciesDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_DisclosureCommitmentsAndContingenciesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_DisclosureCommitmentsAndContingenciesDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureSubsequentEventsDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_DisclosureSubsequentEventsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_DisclosureSubsequentEventsDetails"/>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>8
<FILENAME>cvr-20221231_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2023 [PPXC1A0KDJ2KVDCJENC7]. www.edgarsuite.com -->
<link:linkbase xmlns="http://www.xbrl.org/2003/linkbase"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"
		xmlns:fil="http://www.chicagorivet.com/20221231"
		xmlns:link="http://www.xbrl.org/2003/linkbase"
		xmlns:xlink="http://www.w3.org/1999/xlink"
		xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
		xmlns:xbrli="http://www.xbrl.org/2003/instance">
	<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"/>
	<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"/>
	<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"/>
	<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"/>
	<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"/>
	<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"/>
	<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: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/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals' xlink:label='us-gaap_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Rent Expense {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Rent Expense</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals' xlink:to='lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_AssemblyEquipmentMember' xlink:label='fil_AssemblyEquipmentMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_AssemblyEquipmentMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Assembly Equipment</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_AssemblyEquipmentMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Assembly Equipment, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_AssemblyEquipmentMember' xlink:to='lab_fil_AssemblyEquipmentMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain' xlink:label='us-gaap_ValuationAllowancesAndReservesDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ValuationAllowancesAndReservesDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>SEC Schedule, 12-09, Valuation Allowances and Reserves</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ValuationAllowancesAndReservesDomain' xlink:to='lab_us-gaap_ValuationAllowancesAndReservesDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock' xlink:label='us-gaap_ScheduleOfInventoryCurrentTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventory</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfInventoryCurrentTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock' xlink:label='us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>4 - Profit Sharing Plan</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock' xlink:to='lab_us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:label='us-gaap_IncreaseDecreaseInAccountsReceivable'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts Receivable, net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:to='lab_us-gaap_IncreaseDecreaseInAccountsReceivable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockShares' xlink:label='us-gaap_TreasuryStockShares'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TreasuryStockShares' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Treasury Stock Shares</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TreasuryStockShares' xlink:role='http://www.xbrl.org/2003/role/periodStartLabel' xml:lang='en-US'>Treasury Stock Shares</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TreasuryStockShares' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>Treasury Stock Shares</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_TreasuryStockShares' xlink:to='lab_us-gaap_TreasuryStockShares'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember' xlink:label='us-gaap_CommonStockMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockMember' xlink:to='lab_us-gaap_CommonStockMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EquityComponentDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Equity Component</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EquityComponentDomain' xlink:to='lab_us-gaap_EquityComponentDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityPublicFloat' xlink:label='dei_EntityPublicFloat'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityPublicFloat' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Public Float</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityPublicFloat' xlink:to='lab_dei_EntityPublicFloat'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_LocalPhoneNumber' xlink:label='dei_LocalPhoneNumber'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_LocalPhoneNumber' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Local Phone Number</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_LocalPhoneNumber' xlink:to='lab_dei_LocalPhoneNumber'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis' xlink:label='us-gaap_StatementBusinessSegmentsAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementBusinessSegmentsAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Segments [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='lab_us-gaap_StatementBusinessSegmentsAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SoftwareAndSoftwareDevelopmentCostsMember' xlink:label='us-gaap_SoftwareAndSoftwareDevelopmentCostsMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Software and Software Development Costs</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SoftwareAndSoftwareDevelopmentCostsMember' xlink:to='lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock' xlink:label='us-gaap_DisaggregationOfRevenueTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DisaggregationOfRevenueTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Disaggregation of Revenue</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DisaggregationOfRevenueTableTextBlock' xlink:to='lab_us-gaap_DisaggregationOfRevenueTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis' xlink:label='srt_ProductOrServiceAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_ProductOrServiceAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Product and Service [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_ProductOrServiceAxis' xlink:to='lab_srt_ProductOrServiceAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' xlink:label='us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Accrued Expenses {2}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Other Accrued Expenses</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TableTextBlockSupplementAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Tables/Schedules</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='lab_us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseOfEstimates' xlink:label='us-gaap_UseOfEstimates'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_UseOfEstimates' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Use of Estimates</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_UseOfEstimates' xlink:to='lab_us-gaap_UseOfEstimates'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract' xlink:label='us-gaap_StatementOfCashFlowsAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementOfCashFlowsAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Consolidated Statements of Cash Flows</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='lab_us-gaap_StatementOfCashFlowsAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Income Before Income Taxes</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Income Before Income Taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:to='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesOutstanding' xlink:label='us-gaap_PreferredStockSharesOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PreferredStockSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Preferred Stock, Shares Outstanding</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PreferredStockSharesOutstanding' xlink:to='lab_us-gaap_PreferredStockSharesOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity' xlink:label='us-gaap_LiabilitiesAndStockholdersEquity'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesAndStockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total Liabilities and Shareholders&apos; Equity</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesAndStockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total Liabilities and Shareholders&apos; Equity</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilitiesAndStockholdersEquity' xlink:to='lab_us-gaap_LiabilitiesAndStockholdersEquity'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet' xlink:label='us-gaap_DeferredIncomeTaxLiabilitiesNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredIncomeTaxLiabilitiesNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Income Taxes, net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredIncomeTaxLiabilitiesNet' xlink:to='lab_us-gaap_DeferredIncomeTaxLiabilitiesNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidTaxes' xlink:label='us-gaap_PrepaidTaxes'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PrepaidTaxes' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Prepaid Income Taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PrepaidTaxes' xlink:to='lab_us-gaap_PrepaidTaxes'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntitySmallBusiness' xlink:label='dei_EntitySmallBusiness'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntitySmallBusiness' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Small Business</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntitySmallBusiness' xlink:to='lab_dei_EntitySmallBusiness'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityAddressAddressLine1' xlink:label='dei_EntityAddressAddressLine1'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityAddressAddressLine1' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Address, Address Line One</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityAddressAddressLine1' xlink:to='lab_dei_EntityAddressAddressLine1'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentPeriodEndDate' xlink:label='dei_DocumentPeriodEndDate'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentPeriodEndDate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Period End Date</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentPeriodEndDate' xlink:to='lab_dei_DocumentPeriodEndDate'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentType' xlink:label='dei_DocumentType'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentType' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Type</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentType' xlink:to='lab_dei_DocumentType'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonUsMember' xlink:label='us-gaap_NonUsMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NonUsMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Non-US</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NonUsMember' xlink:to='lab_us-gaap_NonUsMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestAndOtherIncome' xlink:label='us-gaap_InterestAndOtherIncome'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InterestAndOtherIncome' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Income {3}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InterestAndOtherIncome' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Other Income</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InterestAndOtherIncome' xlink:to='lab_us-gaap_InterestAndOtherIncome'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain' xlink:label='us-gaap_SegmentDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SegmentDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Segments</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SegmentDomain' xlink:to='lab_us-gaap_SegmentDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet' xlink:label='us-gaap_DeferredTaxAssetsLiabilitiesNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsLiabilitiesNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Tax Assets and Liabilities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsLiabilitiesNet' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Deferred Tax Assets and Liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxAssetsLiabilitiesNet' xlink:to='lab_us-gaap_DeferredTaxAssetsLiabilitiesNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember' xlink:label='us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Capitalized Property Plant and Equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember' xlink:to='lab_us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_LocationMember' xlink:label='fil_LocationMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_LocationMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Location</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_LocationMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Location, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_LocationMember' xlink:to='lab_fil_LocationMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock' xlink:label='us-gaap_IncomeTaxDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>3 - Income Taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxDisclosureTextBlock' xlink:to='lab_us-gaap_IncomeTaxDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DisclosureTextBlockAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Notes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='lab_us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net Cash Provided by Investing Activities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net Cash Provided by Investing Activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='lab_us-gaap_NetCashProvidedByUsedInInvestingActivities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation' xlink:label='us-gaap_Depreciation'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Depreciation' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Depreciation and Amortization</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Depreciation' xlink:to='lab_us-gaap_Depreciation'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpensesAbstract' xlink:label='us-gaap_OperatingExpensesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingExpensesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating (Income) Expenses</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingExpensesAbstract' xlink:to='lab_us-gaap_OperatingExpensesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract' xlink:label='us-gaap_AssetsAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Assets {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsAbstract' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AssetsAbstract' xlink:to='lab_us-gaap_AssetsAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_AuditorLocation' xlink:label='dei_AuditorLocation'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_AuditorLocation' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Auditor Location</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_AuditorLocation' xlink:to='lab_dei_AuditorLocation'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityEmergingGrowthCompany' xlink:label='dei_EntityEmergingGrowthCompany'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityEmergingGrowthCompany' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Emerging Growth Company</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityEmergingGrowthCompany' xlink:to='lab_dei_EntityEmergingGrowthCompany'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_CityAreaCode' xlink:label='dei_CityAreaCode'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_CityAreaCode' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>City Area Code</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_CityAreaCode' xlink:to='lab_dei_CityAreaCode'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1' xlink:label='us-gaap_ConcentrationRiskPercentage1'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ConcentrationRiskPercentage1' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Percentage of revenues from major customers</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ConcentrationRiskPercentage1' xlink:to='lab_us-gaap_ConcentrationRiskPercentage1'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes' xlink:label='us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>State taxes, net of federal benefit, %</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes' xlink:to='lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember' xlink:label='srt_RangeMember'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_RangeMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Statistical Measurement</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_RangeMember' xlink:to='lab_srt_RangeMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingImprovementsMember' xlink:label='us-gaap_BuildingImprovementsMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_BuildingImprovementsMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Building Improvements</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_BuildingImprovementsMember' xlink:to='lab_us-gaap_BuildingImprovementsMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized' xlink:label='us-gaap_ContractWithCustomerLiabilityRevenueRecognized'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Revenue Recognized</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ContractWithCustomerLiabilityRevenueRecognized' xlink:to='lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_ProductsAndServicesDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Product and Service</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_ProductsAndServicesDomain' xlink:to='lab_srt_ProductsAndServicesDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure' xlink:label='us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Revenue Recognition</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure' xlink:to='lab_us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PolicyTextBlockAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Policies</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='lab_us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalFinancialInformationDisclosureTextBlock' xlink:label='us-gaap_AdditionalFinancialInformationDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdditionalFinancialInformationDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>7 - Additional Financial Information Disclosure</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AdditionalFinancialInformationDisclosureTextBlock' xlink:to='lab_us-gaap_AdditionalFinancialInformationDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net Cash Used in Financing Activities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net Cash Used in Financing Activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:to='lab_us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash Flows from Financing Activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:to='lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Dividends' xlink:label='us-gaap_Dividends'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Dividends' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Dividends Declared</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Dividends' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Dividends Declared</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Dividends' xlink:to='lab_us-gaap_Dividends'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:label='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Basic</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:to='lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare' xlink:label='us-gaap_CommonStockParOrStatedValuePerShare'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockParOrStatedValuePerShare' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock, Par or Stated Value Per Share</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockParOrStatedValuePerShare' xlink:to='lab_us-gaap_CommonStockParOrStatedValuePerShare'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesAuthorized' xlink:label='us-gaap_PreferredStockSharesAuthorized'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PreferredStockSharesAuthorized' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Preferred Stock, Shares Authorized</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PreferredStockSharesAuthorized' xlink:to='lab_us-gaap_PreferredStockSharesAuthorized'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract' xlink:label='us-gaap_CommitmentsAndContingenciesDisclosureAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Commitments and Contingencies (Note 8)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommitmentsAndContingenciesDisclosureAbstract' xlink:to='lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent' xlink:label='us-gaap_AccountsPayableCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccountsPayableCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts Payable {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccountsPayableCurrent' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Accounts Payable</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AccountsPayableCurrent' xlink:to='lab_us-gaap_AccountsPayableCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventories, net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryNet' xlink:to='lab_us-gaap_InventoryNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract' xlink:label='us-gaap_AssetsCurrentAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsCurrentAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Current Assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='lab_us-gaap_AssetsCurrentAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract' xlink:label='us-gaap_StatementOfFinancialPositionAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementOfFinancialPositionAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Consolidated Balance Sheets</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementOfFinancialPositionAbstract' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Consolidated Balance Sheets - Parenthetical</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='lab_us-gaap_StatementOfFinancialPositionAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityTaxIdentificationNumber' xlink:label='dei_EntityTaxIdentificationNumber'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityTaxIdentificationNumber' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Tax Identification Number</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityTaxIdentificationNumber' xlink:to='lab_dei_EntityTaxIdentificationNumber'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityRegistrantName' xlink:label='dei_EntityRegistrantName'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityRegistrantName' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Registrant Name</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityRegistrantName' xlink:to='lab_dei_EntityRegistrantName'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TextBlockAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Details</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_TextBlockAbstract' xlink:to='lab_us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis' xlink:label='srt_MajorCustomersAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_MajorCustomersAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Customer [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_MajorCustomersAxis' xlink:to='lab_srt_MajorCustomersAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit' xlink:label='us-gaap_CurrentStateAndLocalTaxExpenseBenefit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Provision for State income tax expense, Current</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CurrentStateAndLocalTaxExpenseBenefit' xlink:to='lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentOtherNet' xlink:label='us-gaap_PropertyPlantAndEquipmentOtherNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentOtherNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property, Plant and Equipment, Other, Net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentOtherNet' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentOtherNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentGross' xlink:label='us-gaap_MachineryAndEquipmentGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_MachineryAndEquipmentGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Machinery and equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_MachineryAndEquipmentGross' xlink:to='lab_us-gaap_MachineryAndEquipmentGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' xlink:label='us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Unrecognized Tax Benefits {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Unrecognized Tax Benefits</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' xlink:to='lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockMember' xlink:label='us-gaap_PreferredStockMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PreferredStockMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Preferred Stock</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PreferredStockMember' xlink:to='lab_us-gaap_PreferredStockMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment' xlink:label='us-gaap_GainLossOnSaleOfPropertyPlantEquipment'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Gain on sale of property&#133;&#133;&#133;&#133;&#133;&#133;&#133;&#133;&#133;&#133;</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Gain on Sale of Property</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_GainLossOnSaleOfPropertyPlantEquipment' xlink:to='lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpense' xlink:label='us-gaap_SellingGeneralAndAdministrativeExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SellingGeneralAndAdministrativeExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Selling and Administrative Expenses</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SellingGeneralAndAdministrativeExpense' xlink:to='lab_us-gaap_SellingGeneralAndAdministrativeExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue' xlink:label='us-gaap_PreferredStockValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PreferredStockValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Preferred Stock, No Par Value, 500,000 Shares Authorized: None Outstanding</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PreferredStockValue' xlink:to='lab_us-gaap_PreferredStockValue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeasesRentExpenseNet' xlink:label='us-gaap_OperatingLeasesRentExpenseNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLeasesRentExpenseNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Rent Expense</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingLeasesRentExpenseNet' xlink:to='lab_us-gaap_OperatingLeasesRentExpenseNet'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_CooperStandardHoldingsIncMember' xlink:label='fil_CooperStandardHoldingsIncMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_CooperStandardHoldingsIncMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cooper Standard Holdings Inc.</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_CooperStandardHoldingsIncMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Cooper Standard Holdings Inc., during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_CooperStandardHoldingsIncMember' xlink:to='lab_fil_CooperStandardHoldingsIncMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOther' xlink:label='us-gaap_DeferredTaxAssetsOther'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsOther' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other, net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxAssetsOther' xlink:to='lab_us-gaap_DeferredTaxAssetsOther'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations' xlink:label='us-gaap_EffectiveIncomeTaxRateContinuingOperations'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Income tax expense, %</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EffectiveIncomeTaxRateContinuingOperations' xlink:to='lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock' xlink:label='us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Recent Accounting Pronouncements</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock' xlink:to='lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock' xlink:label='us-gaap_SegmentReportingPolicyPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SegmentReportingPolicyPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Segment Information</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SegmentReportingPolicyPolicyTextBlock' xlink:to='lab_us-gaap_SegmentReportingPolicyPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash Flows from Operating Activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapital' xlink:label='us-gaap_AdditionalPaidInCapital'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdditionalPaidInCapital' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Additional Paid-in Capital</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AdditionalPaidInCapital' xlink:to='lab_us-gaap_AdditionalPaidInCapital'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccruedLiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Accrued Expenses</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AccruedLiabilitiesCurrent' xlink:to='lab_us-gaap_AccruedLiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash and Cash Equivalents</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:role='http://www.xbrl.org/2003/role/periodStartLabel' xml:lang='en-US'>Beginning of Year</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>End of Year</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:to='lab_us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_AuditorFirmId' xlink:label='dei_AuditorFirmId'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_AuditorFirmId' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Auditor Firm ID</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_AuditorFirmId' xlink:to='lab_dei_AuditorFirmId'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_AmendmentFlag' xlink:label='dei_AmendmentFlag'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_AmendmentFlag' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Amendment Flag</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_AmendmentFlag' xlink:to='lab_dei_AmendmentFlag'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendPayableDateToBePaidDayMonthAndYear' xlink:label='us-gaap_DividendPayableDateToBePaidDayMonthAndYear'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DividendPayableDateToBePaidDayMonthAndYear' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Dividends Payable, Date to be Paid</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DividendPayableDateToBePaidDayMonthAndYear' xlink:to='lab_us-gaap_DividendPayableDateToBePaidDayMonthAndYear'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_ParkerHannifinCorporationMember' xlink:label='fil_ParkerHannifinCorporationMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_ParkerHannifinCorporationMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Parker Hannifin Corporation</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_ParkerHannifinCorporationMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Parker Hannifin Corporation, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_ParkerHannifinCorporationMember' xlink:to='lab_fil_ParkerHannifinCorporationMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments' xlink:label='us-gaap_IncomeTaxReconciliationOtherAdjustments'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxReconciliationOtherAdjustments' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Permanent differences</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxReconciliationOtherAdjustments' xlink:to='lab_us-gaap_IncomeTaxReconciliationOtherAdjustments'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations' xlink:label='us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Provision for Federal income tax expense, Current</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations' xlink:to='lab_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock' xlink:label='us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Deferred Tax Assets and Liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingDisclosureTextBlock' xlink:label='us-gaap_SegmentReportingDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SegmentReportingDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>6 - Segment Information</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SegmentReportingDisclosureTextBlock' xlink:to='lab_us-gaap_SegmentReportingDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock' xlink:label='us-gaap_SupplementalBalanceSheetDisclosuresTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>2 - Balance Sheet Details</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SupplementalBalanceSheetDisclosuresTextBlock' xlink:to='lab_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementLineItems' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Statement [Line Items]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementLineItems' xlink:to='lab_us-gaap_StatementLineItems'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare' xlink:label='us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Diluted net income per share</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare' xlink:to='lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract' xlink:label='us-gaap_EarningsPerShareAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EarningsPerShareAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Per Share Data</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EarningsPerShareAbstract' xlink:to='lab_us-gaap_EarningsPerShareAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property, Plant and Equipment, net</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentNet' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Property, plant and equipment, net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentNet' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsPayableAmountPerShare' xlink:label='us-gaap_DividendsPayableAmountPerShare'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DividendsPayableAmountPerShare' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Dividends per share declared</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DividendsPayableAmountPerShare' xlink:to='lab_us-gaap_DividendsPayableAmountPerShare'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain' xlink:label='srt_NameOfMajorCustomerDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_NameOfMajorCustomerDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Customer</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_NameOfMajorCustomerDomain' xlink:to='lab_srt_NameOfMajorCustomerDomain'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_SegmentOperatingProfit' xlink:label='fil_SegmentOperatingProfit'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_SegmentOperatingProfit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Segment operating profit</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_SegmentOperatingProfit' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>The net result for the period of deducting segment operating expenses from segment operating revenues.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_SegmentOperatingProfit' xlink:to='lab_fil_SegmentOperatingProfit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandImprovementsMember' xlink:label='us-gaap_LandImprovementsMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LandImprovementsMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Land Improvements {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LandImprovementsMember' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Land Improvements</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LandImprovementsMember' xlink:to='lab_us-gaap_LandImprovementsMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis' xlink:label='srt_StatementGeographicalAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_StatementGeographicalAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Geographical [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_StatementGeographicalAxis' xlink:to='lab_srt_StatementGeographicalAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock' xlink:label='us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>1 - Nature of Business and Significant Accounting Policies</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock' xlink:to='lab_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxesPaidNet' xlink:label='us-gaap_IncomeTaxesPaidNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxesPaidNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash Paid for Income Taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxesPaidNet' xlink:to='lab_us-gaap_IncomeTaxesPaidNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment' xlink:label='us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Proceeds from the Sale of Property and Equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment' xlink:to='lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireProductiveAssets' xlink:label='us-gaap_PaymentsToAcquireProductiveAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquireProductiveAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Capital Expenditures</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquireProductiveAssets' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Capital Expenditures</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PaymentsToAcquireProductiveAssets' xlink:to='lab_us-gaap_PaymentsToAcquireProductiveAssets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockMember' xlink:label='us-gaap_TreasuryStockMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TreasuryStockMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Treasury Stock</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_TreasuryStockMember' xlink:to='lab_us-gaap_TreasuryStockMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis' xlink:label='us-gaap_StatementEquityComponentsAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementEquityComponentsAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Equity Components [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='lab_us-gaap_StatementEquityComponentsAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding' xlink:label='us-gaap_CommonStockSharesOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock, Shares, Outstanding</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/periodStartLabel' xml:lang='en-US'>Common Stock Shares</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>Common Stock Shares</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockSharesOutstanding' xlink:to='lab_us-gaap_CommonStockSharesOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract' xlink:label='us-gaap_StockholdersEquityAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquityAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Shareholders&apos; Equity</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StockholdersEquityAbstract' xlink:to='lab_us-gaap_StockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsCurrent' xlink:label='us-gaap_OtherAssetsCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherAssetsCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Current Assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherAssetsCurrent' xlink:to='lab_us-gaap_OtherAssetsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityInteractiveDataCurrent' xlink:label='dei_EntityInteractiveDataCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityInteractiveDataCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Interactive Data Current</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityInteractiveDataCurrent' xlink:to='lab_dei_EntityInteractiveDataCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityWellKnownSeasonedIssuer' xlink:label='dei_EntityWellKnownSeasonedIssuer'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityWellKnownSeasonedIssuer' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Well-known Seasoned Issuer</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityWellKnownSeasonedIssuer' xlink:to='lab_dei_EntityWellKnownSeasonedIssuer'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityAddressStateOrProvince' xlink:label='dei_EntityAddressStateOrProvince'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityAddressStateOrProvince' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Address, State or Province</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityAddressStateOrProvince' xlink:to='lab_dei_EntityAddressStateOrProvince'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalInformationAboutEntitysReportableSegments' xlink:label='us-gaap_AdditionalInformationAboutEntitysReportableSegments'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdditionalInformationAboutEntitysReportableSegments' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Percentage of accounts receivable balances</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AdditionalInformationAboutEntitysReportableSegments' xlink:to='lab_us-gaap_AdditionalInformationAboutEntitysReportableSegments'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_NonautomotiveMember' xlink:label='fil_NonautomotiveMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_NonautomotiveMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Nonautomotive</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_NonautomotiveMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Nonautomotive, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_NonautomotiveMember' xlink:to='lab_fil_NonautomotiveMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncome' xlink:label='us-gaap_OtherNonoperatingIncome'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherNonoperatingIncome' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other nonoperating income</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherNonoperatingIncome' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Other nonoperating income</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherNonoperatingIncome' xlink:to='lab_us-gaap_OtherNonoperatingIncome'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate' xlink:label='us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Expected tax at U.S. statutory rate, %</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate' xlink:to='lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherEmployeeRelatedLiabilitiesCurrent' xlink:label='us-gaap_OtherEmployeeRelatedLiabilitiesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherEmployeeRelatedLiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Profit sharing plan contribution</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherEmployeeRelatedLiabilitiesCurrent' xlink:to='lab_us-gaap_OtherEmployeeRelatedLiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryValuationReserves' xlink:label='us-gaap_InventoryValuationReserves'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryValuationReserves' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Valuation reserves</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryValuationReserves' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Valuation reserves</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryValuationReserves' xlink:to='lab_us-gaap_InventoryValuationReserves'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife' xlink:label='us-gaap_PropertyPlantAndEquipmentUsefulLife'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentUsefulLife' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property, Plant and Equipment, Useful Life</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentUsefulLife' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentUsefulLife'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentMember' xlink:label='us-gaap_MachineryAndEquipmentMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_MachineryAndEquipmentMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Machinery and Equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_MachineryAndEquipmentMember' xlink:to='lab_us-gaap_MachineryAndEquipmentMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestAndOtherIncomeTableTextBlock' xlink:label='us-gaap_InterestAndOtherIncomeTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InterestAndOtherIncomeTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Income {2}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InterestAndOtherIncomeTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Other Income</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InterestAndOtherIncomeTableTextBlock' xlink:to='lab_us-gaap_InterestAndOtherIncomeTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock' xlink:label='us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Effective Income Tax Rate Reconciliation</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock' xlink:label='srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Valuation and Qualifying Accounts</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock' xlink:to='lab_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities' xlink:label='us-gaap_PaymentsToAcquireHeldToMaturitySecurities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquireHeldToMaturitySecurities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Purchases of Certificates of Deposit</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquireHeldToMaturitySecurities' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Purchases of Certificates of Deposit</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PaymentsToAcquireHeldToMaturitySecurities' xlink:to='lab_us-gaap_PaymentsToAcquireHeldToMaturitySecurities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net Cash Used in Operating Activities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net Cash Used in Operating Activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='lab_us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense' xlink:label='us-gaap_OtherNonoperatingIncomeExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherNonoperatingIncomeExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Income {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherNonoperatingIncomeExpense' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Other Income</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherNonoperatingIncomeExpense' xlink:to='lab_us-gaap_OtherNonoperatingIncomeExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockValue' xlink:label='us-gaap_TreasuryStockValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TreasuryStockValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Treasury Stock, 171,964 Shares at cost</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TreasuryStockValue' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Treasury Stock, 171,964 Shares at cost</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_TreasuryStockValue' xlink:to='lab_us-gaap_TreasuryStockValue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract' xlink:label='us-gaap_LiabilitiesCurrentAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesCurrentAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Current Liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='lab_us-gaap_LiabilitiesCurrentAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentFiscalPeriodFocus' xlink:label='dei_DocumentFiscalPeriodFocus'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentFiscalPeriodFocus' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Fiscal Period Focus</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentFiscalPeriodFocus' xlink:to='lab_dei_DocumentFiscalPeriodFocus'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityCurrentReportingStatus' xlink:label='dei_EntityCurrentReportingStatus'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityCurrentReportingStatus' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Current Reporting Status</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityCurrentReportingStatus' xlink:to='lab_dei_EntityCurrentReportingStatus'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityAddressCityOrTown' xlink:label='dei_EntityAddressCityOrTown'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityAddressCityOrTown' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Address, City or Town</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityAddressCityOrTown' xlink:to='lab_dei_EntityAddressCityOrTown'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:label='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Revenue</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:to='lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_SegmentGeographicalDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Geographical</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_SegmentGeographicalDomain' xlink:to='lab_srt_SegmentGeographicalDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock' xlink:label='us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Segment Reporting Information</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock' xlink:to='lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxPolicyTextBlock' xlink:label='us-gaap_IncomeTaxPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Income Taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxPolicyTextBlock' xlink:to='lab_us-gaap_IncomeTaxPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy' xlink:label='us-gaap_FairValueOfFinancialInstrumentsPolicy'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FairValueOfFinancialInstrumentsPolicy' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Fair Value of Financial Instruments</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FairValueOfFinancialInstrumentsPolicy' xlink:to='lab_us-gaap_FairValueOfFinancialInstrumentsPolicy'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' xlink:label='us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Proceeds from Certificates of Deposit</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' xlink:to='lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInOtherAccruedLiabilities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Accrued Expenses {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Other Accrued Expenses</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' xlink:to='lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnDispositionOfAssets' xlink:label='us-gaap_GainLossOnDispositionOfAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GainLossOnDispositionOfAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>(Gain) Loss on the Sale of Property and Equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_GainLossOnDispositionOfAssets' xlink:to='lab_us-gaap_GainLossOnDispositionOfAssets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract' xlink:label='us-gaap_StatementOfStockholdersEquityAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementOfStockholdersEquityAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Consolidated Statements of Shareholders&apos; Equity</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementOfStockholdersEquityAbstract' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Consolidated Statements of Shareholders&apos; Equity - Parenthetical</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementOfStockholdersEquityAbstract' xlink:to='lab_us-gaap_StatementOfStockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:label='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Diluted</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:to='lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized' xlink:label='us-gaap_CommonStockSharesAuthorized'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockSharesAuthorized' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock, Shares Authorized</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockSharesAuthorized' xlink:to='lab_us-gaap_CommonStockSharesAuthorized'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValueOutstanding' xlink:label='us-gaap_CommonStockValueOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockValueOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock, $1.00 Par Value, 4,000,000 Shares Authorized: 1,138,096 Shares Issued, 966,132 Shares Outstanding</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockValueOutstanding' xlink:to='lab_us-gaap_CommonStockValueOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent' xlink:label='us-gaap_EmployeeRelatedLiabilitiesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EmployeeRelatedLiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accrued Wages and Salaries</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EmployeeRelatedLiabilitiesCurrent' xlink:to='lab_us-gaap_EmployeeRelatedLiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityVoluntaryFilers' xlink:label='dei_EntityVoluntaryFilers'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityVoluntaryFilers' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Voluntary Filers</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityVoluntaryFilers' xlink:to='lab_dei_EntityVoluntaryFilers'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_AutomotiveMember' xlink:label='fil_AutomotiveMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_AutomotiveMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Automotive</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_AutomotiveMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Automotive, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_AutomotiveMember' xlink:to='lab_fil_AutomotiveMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssets' xlink:label='us-gaap_OtherAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherAssets' xlink:to='lab_us-gaap_OtherAssets'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_FastenerMember' xlink:label='fil_FastenerMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_FastenerMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Fastener</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_FastenerMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Fastener, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_FastenerMember' xlink:to='lab_fil_FastenerMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' xlink:label='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Allowance for doubtful accounts</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' xlink:to='lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:label='us-gaap_PropertyPlantAndEquipmentTypeDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long-Lived Tangible Asset</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentTypeDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock' xlink:label='us-gaap_PropertyPlantAndEquipmentTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property, Plant and Equipment {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentTextBlock' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Property, Plant and Equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentTextBlock' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerSharePolicyTextBlock' xlink:label='us-gaap_EarningsPerSharePolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EarningsPerSharePolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net Income Per Share</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EarningsPerSharePolicyTextBlock' xlink:to='lab_us-gaap_EarningsPerSharePolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryPolicyTextBlock' xlink:label='us-gaap_InventoryPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventories</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryPolicyTextBlock' xlink:to='lab_us-gaap_InventoryPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSubsequentEventsTextBlock' xlink:label='us-gaap_ScheduleOfSubsequentEventsTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfSubsequentEventsTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>10 - Subsequent Events</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfSubsequentEventsTextBlock' xlink:to='lab_us-gaap_ScheduleOfSubsequentEventsTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:label='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net Increase (Decrease) in Cash and Cash Equivalents</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net Increase (Decrease) in Cash and Cash Equivalents</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:to='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember' xlink:label='us-gaap_RetainedEarningsMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RetainedEarningsMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Retained Earnings {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RetainedEarningsMember' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Retained Earnings</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_RetainedEarningsMember' xlink:to='lab_us-gaap_RetainedEarningsMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit' xlink:label='us-gaap_GrossProfit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GrossProfit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Gross Profit</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GrossProfit' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Gross Profit</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_GrossProfit' xlink:to='lab_us-gaap_GrossProfit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfRevenue' xlink:label='us-gaap_CostOfRevenue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CostOfRevenue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cost of Goods Sold</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CostOfRevenue' xlink:to='lab_us-gaap_CostOfRevenue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract' xlink:label='us-gaap_IncomeStatementAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeStatementAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Consolidated Statements of Income</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='lab_us-gaap_IncomeStatementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent' xlink:label='us-gaap_AssetsCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total Current Assets</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsCurrent' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total Current Assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AssetsCurrent' xlink:to='lab_us-gaap_AssetsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityIncorporationStateCountryCode' xlink:label='dei_EntityIncorporationStateCountryCode'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityIncorporationStateCountryCode' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Incorporation, State or Country Code</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityIncorporationStateCountryCode' xlink:to='lab_dei_EntityIncorporationStateCountryCode'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_CurrentFiscalYearEndDate' xlink:label='dei_CurrentFiscalYearEndDate'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_CurrentFiscalYearEndDate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Fiscal Year End</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_CurrentFiscalYearEndDate' xlink:to='lab_dei_CurrentFiscalYearEndDate'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsPayableCurrent' xlink:label='us-gaap_DividendsPayableCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DividendsPayableCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Dividends payable amount</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DividendsPayableCurrent' xlink:to='lab_us-gaap_DividendsPayableCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US' xlink:label='country_US'/>
		<link:label xlink:type='resource' xlink:label='lab_country_US' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>UNITED STATES</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='country_US' xlink:to='lab_country_US'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_SellingAndAdministrativeExpensesUnallocatedCorporate' xlink:label='fil_SellingAndAdministrativeExpensesUnallocatedCorporate'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_SellingAndAdministrativeExpensesUnallocatedCorporate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Selling and Administrative Expenses {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_SellingAndAdministrativeExpensesUnallocatedCorporate' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Selling and Administrative Expenses</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_SellingAndAdministrativeExpensesUnallocatedCorporate' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>The aggregate total costs related to selling a firm&apos;s product and services, as well as all other general and administrative expenses.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_SellingAndAdministrativeExpensesUnallocatedCorporate' xlink:to='lab_fil_SellingAndAdministrativeExpensesUnallocatedCorporate'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_UnallocatedCorporateMember' xlink:label='fil_UnallocatedCorporateMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_UnallocatedCorporateMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Unallocated Corporate</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_UnallocatedCorporateMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Unallocated Corporate, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_UnallocatedCorporateMember' xlink:to='lab_fil_UnallocatedCorporateMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount' xlink:label='us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Defined Contribution Plan, Employer Discretionary Contribution Amount</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount' xlink:to='lab_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences' xlink:label='us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accrued vacation</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences' xlink:to='lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment' xlink:label='us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Depreciation and amortization</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Depreciation and amortization</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment' xlink:to='lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDeductions' xlink:label='us-gaap_ValuationAllowancesAndReservesDeductions'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ValuationAllowancesAndReservesDeductions' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Write-offs</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ValuationAllowancesAndReservesDeductions' xlink:to='lab_us-gaap_ValuationAllowancesAndReservesDeductions'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskCreditRisk' xlink:label='us-gaap_ConcentrationRiskCreditRisk'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ConcentrationRiskCreditRisk' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Credit Risk</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ConcentrationRiskCreditRisk' xlink:to='lab_us-gaap_ConcentrationRiskCreditRisk'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss' xlink:label='us-gaap_OperatingIncomeLoss'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingIncomeLoss' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating Profit</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingIncomeLoss' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Operating Profit</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingIncomeLoss' xlink:to='lab_us-gaap_OperatingIncomeLoss'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets' xlink:label='us-gaap_Assets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Assets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total Assets</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Assets' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total Assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Assets' xlink:to='lab_us-gaap_Assets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityAddressPostalZipCode' xlink:label='dei_EntityAddressPostalZipCode'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityAddressPostalZipCode' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Address, Postal Zip Code</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityAddressPostalZipCode' xlink:to='lab_dei_EntityAddressPostalZipCode'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' xlink:label='us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Expected tax at U.S. statutory rate</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' xlink:to='lab_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesBalance' xlink:label='us-gaap_ValuationAllowancesAndReservesBalance'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ValuationAllowancesAndReservesBalance' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Balance at beginning of year</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ValuationAllowancesAndReservesBalance' xlink:role='http://www.xbrl.org/2003/role/periodStartLabel' xml:lang='en-US'>Balance at beginning of year</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ValuationAllowancesAndReservesBalance' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>Balance at end of year</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ValuationAllowancesAndReservesBalance' xlink:to='lab_us-gaap_ValuationAllowancesAndReservesBalance'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:label='us-gaap_ValuationAllowancesAndReservesTypeAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:to='lab_us-gaap_ValuationAllowancesAndReservesTypeAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent' xlink:label='us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent' xlink:to='lab_us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentOther' xlink:label='us-gaap_PropertyPlantAndEquipmentOther'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentOther' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Capitalized software and other</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentOther' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentOther'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandAndLandImprovements' xlink:label='us-gaap_LandAndLandImprovements'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LandAndLandImprovements' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Land and improvements</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LandAndLandImprovements' xlink:to='lab_us-gaap_LandAndLandImprovements'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterials' xlink:label='us-gaap_InventoryRawMaterials'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryRawMaterials' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Raw materials</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryRawMaterials' xlink:to='lab_us-gaap_InventoryRawMaterials'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash Flows from Investing Activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' xlink:label='us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Unearned Revenue and Customer Deposits {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Unearned Revenue and Customer Deposits</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' xlink:to='lab_us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories' xlink:label='us-gaap_IncreaseDecreaseInInventories'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInInventories' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventories, net {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInInventories' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Inventories, net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInInventories' xlink:to='lab_us-gaap_IncreaseDecreaseInInventories'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:label='us-gaap_DeferredIncomeTaxExpenseBenefit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Income Taxes</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Provision for income tax expense, Deferred</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:to='lab_us-gaap_DeferredIncomeTaxExpenseBenefit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementTable' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Statement</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementTable' xlink:to='lab_us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockDividendsPerShareDeclared' xlink:label='us-gaap_CommonStockDividendsPerShareDeclared'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockDividendsPerShareDeclared' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash Dividends Declared Per Share</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockDividendsPerShareDeclared' xlink:to='lab_us-gaap_CommonStockDividendsPerShareDeclared'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_IcfrAuditorAttestationFlag' xlink:label='dei_IcfrAuditorAttestationFlag'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_IcfrAuditorAttestationFlag' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>ICFR Auditor Attestation Flag</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_IcfrAuditorAttestationFlag' xlink:to='lab_dei_IcfrAuditorAttestationFlag'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_Security12bTitle' xlink:label='dei_Security12bTitle'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_Security12bTitle' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Title of 12(b) Security</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_Security12bTitle' xlink:to='lab_dei_Security12bTitle'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentTransitionReport' xlink:label='dei_DocumentTransitionReport'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentTransitionReport' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Transition Report</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentTransitionReport' xlink:to='lab_dei_DocumentTransitionReport'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentAnnualReport' xlink:label='dei_DocumentAnnualReport'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentAnnualReport' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Annual Report</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentAnnualReport' xlink:to='lab_dei_DocumentAnnualReport'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes' xlink:label='us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>State taxes, net of federal benefit</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes' xlink:to='lab_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossMember' xlink:label='us-gaap_AllowanceForCreditLossMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AllowanceForCreditLossMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>SEC Schedule, 12-09, Allowance, Credit Loss</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AllowanceForCreditLossMember' xlink:to='lab_us-gaap_AllowanceForCreditLossMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccruedLiabilitiesCurrent' xlink:label='us-gaap_OtherAccruedLiabilitiesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherAccruedLiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>All other items</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherAccruedLiabilitiesCurrent' xlink:to='lab_us-gaap_OtherAccruedLiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:label='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Less: Accumulated Depreciation</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Less: Accumulated Depreciation</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:to='lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoods' xlink:label='us-gaap_InventoryFinishedGoods'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryFinishedGoods' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finished goods</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryFinishedGoods' xlink:to='lab_us-gaap_InventoryFinishedGoods'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock' xlink:label='us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Provision for Income Tax Expense</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConsolidationPolicyTextBlock' xlink:label='us-gaap_ConsolidationPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ConsolidationPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Principles of Consolidation</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ConsolidationPolicyTextBlock' xlink:to='lab_us-gaap_ConsolidationPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDividendsCommonStock' xlink:label='us-gaap_PaymentsOfDividendsCommonStock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsOfDividendsCommonStock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash Dividends Paid</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsOfDividendsCommonStock' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Cash Dividends Paid</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PaymentsOfDividendsCommonStock' xlink:to='lab_us-gaap_PaymentsOfDividendsCommonStock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxExpenseBenefit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Provision for Income Taxes</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxExpenseBenefit' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Income tax expense</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='lab_us-gaap_IncomeTaxExpenseBenefit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues' xlink:label='us-gaap_Revenues'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Revenues' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net Sales</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Revenues' xlink:to='lab_us-gaap_Revenues'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total Shareholders&apos; Equity</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total Shareholders&apos; Equity</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/periodStartLabel' xml:lang='en-US'>Beginning Balance</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>Ending Balance</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StockholdersEquity' xlink:to='lab_us-gaap_StockholdersEquity'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities' xlink:label='us-gaap_Liabilities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Liabilities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total Liabilities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Liabilities' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total Liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Liabilities' xlink:to='lab_us-gaap_Liabilities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_AuditorName' xlink:label='dei_AuditorName'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_AuditorName' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Auditor Name</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_AuditorName' xlink:to='lab_dei_AuditorName'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityFilerCategory' xlink:label='dei_EntityFilerCategory'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityFilerCategory' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Filer Category</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityFilerCategory' xlink:to='lab_dei_EntityFilerCategory'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsPayableDateOfRecordDayMonthAndYear' xlink:label='us-gaap_DividendsPayableDateOfRecordDayMonthAndYear'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Dividends Payable, Date of Record</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DividendsPayableDateOfRecordDayMonthAndYear' xlink:to='lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_TIGroupAutomotiveSystemsMember' xlink:label='fil_TIGroupAutomotiveSystemsMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_TIGroupAutomotiveSystemsMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>T.I. Group Automotive Systems</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_TIGroupAutomotiveSystemsMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the T.I. Group Automotive Systems, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_TIGroupAutomotiveSystemsMember' xlink:to='lab_fil_TIGroupAutomotiveSystemsMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance' xlink:label='us-gaap_DeferredTaxAssetsValuationAllowance'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsValuationAllowance' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred tax assets valuation allowance</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxAssetsValuationAllowance' xlink:to='lab_us-gaap_DeferredTaxAssetsValuationAllowance'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsInventory' xlink:label='us-gaap_DeferredTaxAssetsInventory'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsInventory' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventory {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsInventory' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Inventory</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxAssetsInventory' xlink:to='lab_us-gaap_DeferredTaxAssetsInventory'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense' xlink:label='us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Charges to statement of income</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense' xlink:to='lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryValuationReserveMember' xlink:label='us-gaap_InventoryValuationReserveMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryValuationReserveMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>SEC Schedule, 12-09, Reserve, Inventory</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryValuationReserveMember' xlink:to='lab_us-gaap_InventoryValuationReserveMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilityForUncertainTaxPositionsCurrent' xlink:label='us-gaap_LiabilityForUncertainTaxPositionsCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilityForUncertainTaxPositionsCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Liability for Uncertain Tax Positions</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilityForUncertainTaxPositionsCurrent' xlink:to='lab_us-gaap_LiabilityForUncertainTaxPositionsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember' xlink:label='srt_MinimumMember'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_MinimumMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Minimum</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_MinimumMember' xlink:to='lab_srt_MinimumMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis' xlink:label='srt_RangeAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_RangeAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Statistical Measurement [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_RangeAxis' xlink:to='lab_srt_RangeAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock' xlink:label='us-gaap_CashAndCashEquivalentsPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash and Cash Equivalents and Certificates of Deposit</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CashAndCashEquivalentsPolicyTextBlock' xlink:to='lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock' xlink:label='us-gaap_CommitmentsAndContingenciesDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>8 - Commitments and Contingencies</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommitmentsAndContingenciesDisclosureTextBlock' xlink:to='lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestAndOtherIncomeTextBlock' xlink:label='us-gaap_InterestAndOtherIncomeTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InterestAndOtherIncomeTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>5 - Other Income</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InterestAndOtherIncomeTextBlock' xlink:to='lab_us-gaap_InterestAndOtherIncomeTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:label='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Changes in Operating Assets and Liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetIncomeLoss' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net Income</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetIncomeLoss' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net Income</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetIncomeLoss' xlink:to='lab_us-gaap_NetIncomeLoss'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued' xlink:label='us-gaap_CommonStockSharesIssued'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockSharesIssued' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock, Shares, Issued</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockSharesIssued' xlink:to='lab_us-gaap_CommonStockSharesIssued'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerAdvancesAndDepositsCurrent' xlink:label='us-gaap_CustomerAdvancesAndDepositsCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CustomerAdvancesAndDepositsCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Unearned Revenue and Customer Deposits</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CustomerAdvancesAndDepositsCurrent' xlink:to='lab_us-gaap_CustomerAdvancesAndDepositsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent' xlink:label='us-gaap_AccountsReceivableNetCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccountsReceivableNetCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts Receivable - Less allowances of $160,000 and $170,000, respectively</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccountsReceivableNetCurrent' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Accounts receivable, net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AccountsReceivableNetCurrent' xlink:to='lab_us-gaap_AccountsReceivableNetCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentFiscalYearFocus' xlink:label='dei_DocumentFiscalYearFocus'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentFiscalYearFocus' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Fiscal Year Focus</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentFiscalYearFocus' xlink:to='lab_dei_DocumentFiscalYearFocus'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityShellCompany' xlink:label='dei_EntityShellCompany'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityShellCompany' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Shell Company</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityShellCompany' xlink:to='lab_dei_EntityShellCompany'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_SecurityExchangeName' xlink:label='dei_SecurityExchangeName'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_SecurityExchangeName' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Security Exchange Name</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_SecurityExchangeName' xlink:to='lab_dei_SecurityExchangeName'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_TradingSymbol' xlink:label='dei_TradingSymbol'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_TradingSymbol' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Trading Symbol</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_TradingSymbol' xlink:to='lab_dei_TradingSymbol'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:label='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Capital expenditures</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:to='lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentIncomeInterest' xlink:label='us-gaap_InvestmentIncomeInterest'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InvestmentIncomeInterest' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Interest income</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InvestmentIncomeInterest' xlink:to='lab_us-gaap_InvestmentIncomeInterest'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments' xlink:label='us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Permanent differences, %</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments' xlink:to='lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember' xlink:label='srt_MaximumMember'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_MaximumMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Maximum</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_MaximumMember' xlink:to='lab_srt_MaximumMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:label='us-gaap_PropertyPlantAndEquipmentByTypeAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long-Lived Tangible Asset [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_EndMarketMember' xlink:label='fil_EndMarketMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_EndMarketMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>End Market</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_EndMarketMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the End Market, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_EndMarketMember' xlink:to='lab_fil_EndMarketMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock' xlink:label='us-gaap_PropertyPlantAndEquipmentPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property, Plant and Equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentPolicyTextBlock' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock' xlink:label='us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>9 - COVID-19</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock' xlink:to='lab_us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable' xlink:label='us-gaap_IncreaseDecreaseInAccountsPayable'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInAccountsPayable' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts Payable {2}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInAccountsPayable' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Accounts Payable</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInAccountsPayable' xlink:to='lab_us-gaap_IncreaseDecreaseInAccountsPayable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets' xlink:label='us-gaap_IncreaseDecreaseInOtherOperatingAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Current Assets {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Other Current Assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInOtherOperatingAssets' xlink:to='lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsPerBasicShare' xlink:label='us-gaap_IncomeLossFromContinuingOperationsPerBasicShare'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Basic net income per share</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeLossFromContinuingOperationsPerBasicShare' xlink:to='lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses' xlink:label='us-gaap_OperatingExpenses'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingExpenses' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total Operating Expenses</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingExpenses' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total Operating Expenses</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingExpenses' xlink:to='lab_us-gaap_OperatingExpenses'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent' xlink:label='us-gaap_LiabilitiesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total Current Liabilities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total Current Liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilitiesCurrent' xlink:to='lab_us-gaap_LiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:label='us-gaap_LiabilitiesAndStockholdersEquityAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Liabilities and Shareholders&apos; Equity</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CertificatesOfDepositAtCarryingValue' xlink:label='us-gaap_CertificatesOfDepositAtCarryingValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CertificatesOfDepositAtCarryingValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Certificates of Deposit</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CertificatesOfDepositAtCarryingValue' xlink:to='lab_us-gaap_CertificatesOfDepositAtCarryingValue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityCommonStockSharesOutstanding' xlink:label='dei_EntityCommonStockSharesOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityCommonStockSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Common Stock, Shares Outstanding</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityCommonStockSharesOutstanding' xlink:to='lab_dei_EntityCommonStockSharesOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityFileNumber' xlink:label='dei_EntityFileNumber'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityFileNumber' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity File Number</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityFileNumber' xlink:to='lab_dei_EntityFileNumber'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsPayableDateDeclaredDayMonthAndYear' xlink:label='us-gaap_DividendsPayableDateDeclaredDayMonthAndYear'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DividendsPayableDateDeclaredDayMonthAndYear' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Dividend declaration date</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DividendsPayableDateDeclaredDayMonthAndYear' xlink:to='lab_us-gaap_DividendsPayableDateDeclaredDayMonthAndYear'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingsAndImprovementsGross' xlink:label='us-gaap_BuildingsAndImprovementsGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_BuildingsAndImprovementsGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Buildings and improvements</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_BuildingsAndImprovementsGross' xlink:to='lab_us-gaap_BuildingsAndImprovementsGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcess' xlink:label='us-gaap_InventoryWorkInProcess'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryWorkInProcess' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Work in process</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryWorkInProcess' xlink:to='lab_us-gaap_InventoryWorkInProcess'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash and Cash Equivalents {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Cash and Cash Equivalents</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract' xlink:to='lab_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accrued Wages and Salaries {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Accrued Wages and Salaries</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' xlink:to='lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Adjustments to Reconcile Net Income to Net Cash Used in Operating Activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember' xlink:label='us-gaap_AdditionalPaidInCapitalMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdditionalPaidInCapitalMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Additional Paid-in Capital {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdditionalPaidInCapitalMember' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Additional Paid-in Capital</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AdditionalPaidInCapitalMember' xlink:to='lab_us-gaap_AdditionalPaidInCapitalMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockParOrStatedValuePerShare' xlink:label='us-gaap_PreferredStockParOrStatedValuePerShare'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PreferredStockParOrStatedValuePerShare' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Preferred Stock, Par or Stated Value Per Share</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PreferredStockParOrStatedValuePerShare' xlink:to='lab_us-gaap_PreferredStockParOrStatedValuePerShare'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit' xlink:label='us-gaap_RetainedEarningsAccumulatedDeficit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RetainedEarningsAccumulatedDeficit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Retained Earnings</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_RetainedEarningsAccumulatedDeficit' xlink:to='lab_us-gaap_RetainedEarningsAccumulatedDeficit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityCentralIndexKey' xlink:label='dei_EntityCentralIndexKey'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityCentralIndexKey' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Registrant CIK</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityCentralIndexKey' xlink:to='lab_dei_EntityCentralIndexKey'/>
	</link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>9
<FILENAME>cvr-20221231_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2023 [PPXC1A0KDJ2KVDCJENC7]. www.edgarsuite.com -->
<link:linkbase xmlns="http://www.xbrl.org/2003/linkbase"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"
		xmlns:fil="http://www.chicagorivet.com/20221231"
		xmlns:link="http://www.xbrl.org/2003/linkbase"
		xmlns:xlink="http://www.w3.org/1999/xlink"
		xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
		xmlns:xbrli="http://www.xbrl.org/2003/instance">
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_DocumentDocumentAndEntityInformation"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityCentralIndexKey' xlink:label='dei_EntityCentralIndexKey'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityCentralIndexKey' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_CurrentFiscalYearEndDate' xlink:label='dei_CurrentFiscalYearEndDate'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_CurrentFiscalYearEndDate' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentType' xlink:label='dei_DocumentType'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentType' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentAnnualReport' xlink:label='dei_DocumentAnnualReport'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentAnnualReport' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentPeriodEndDate' xlink:label='dei_DocumentPeriodEndDate'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentPeriodEndDate' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentTransitionReport' xlink:label='dei_DocumentTransitionReport'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentTransitionReport' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityFileNumber' xlink:label='dei_EntityFileNumber'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityFileNumber' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityRegistrantName' xlink:label='dei_EntityRegistrantName'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityRegistrantName' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityIncorporationStateCountryCode' xlink:label='dei_EntityIncorporationStateCountryCode'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityIncorporationStateCountryCode' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityTaxIdentificationNumber' xlink:label='dei_EntityTaxIdentificationNumber'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityTaxIdentificationNumber' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityAddressAddressLine1' xlink:label='dei_EntityAddressAddressLine1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressAddressLine1' use='optional' order='11.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityAddressCityOrTown' xlink:label='dei_EntityAddressCityOrTown'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressCityOrTown' use='optional' order='12.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityAddressStateOrProvince' xlink:label='dei_EntityAddressStateOrProvince'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressStateOrProvince' use='optional' order='13.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityAddressPostalZipCode' xlink:label='dei_EntityAddressPostalZipCode'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressPostalZipCode' use='optional' order='14.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_CityAreaCode' xlink:label='dei_CityAreaCode'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_CityAreaCode' use='optional' order='15.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_LocalPhoneNumber' xlink:label='dei_LocalPhoneNumber'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_LocalPhoneNumber' use='optional' order='16.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_Security12bTitle' xlink:label='dei_Security12bTitle'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_Security12bTitle' use='optional' order='17.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_TradingSymbol' xlink:label='dei_TradingSymbol'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_TradingSymbol' use='optional' order='18.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_SecurityExchangeName' xlink:label='dei_SecurityExchangeName'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_SecurityExchangeName' use='optional' order='19.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityWellKnownSeasonedIssuer' xlink:label='dei_EntityWellKnownSeasonedIssuer'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityWellKnownSeasonedIssuer' use='optional' order='20.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityVoluntaryFilers' xlink:label='dei_EntityVoluntaryFilers'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityVoluntaryFilers' use='optional' order='21.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityCurrentReportingStatus' xlink:label='dei_EntityCurrentReportingStatus'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityCurrentReportingStatus' use='optional' order='22.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityInteractiveDataCurrent' xlink:label='dei_EntityInteractiveDataCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityInteractiveDataCurrent' use='optional' order='23.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityFilerCategory' xlink:label='dei_EntityFilerCategory'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityFilerCategory' use='optional' order='24.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntitySmallBusiness' xlink:label='dei_EntitySmallBusiness'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntitySmallBusiness' use='optional' order='25.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityEmergingGrowthCompany' xlink:label='dei_EntityEmergingGrowthCompany'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityEmergingGrowthCompany' use='optional' order='26.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_IcfrAuditorAttestationFlag' xlink:label='dei_IcfrAuditorAttestationFlag'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_IcfrAuditorAttestationFlag' use='optional' order='27.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityShellCompany' xlink:label='dei_EntityShellCompany'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityShellCompany' use='optional' order='28.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityPublicFloat' xlink:label='dei_EntityPublicFloat'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityPublicFloat' use='optional' order='29.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityCommonStockSharesOutstanding' xlink:label='dei_EntityCommonStockSharesOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityCommonStockSharesOutstanding' use='optional' order='30.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_AmendmentFlag' xlink:label='dei_AmendmentFlag'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_AmendmentFlag' use='optional' order='31.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentFiscalYearFocus' xlink:label='dei_DocumentFiscalYearFocus'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentFiscalYearFocus' use='optional' order='32.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentFiscalPeriodFocus' xlink:label='dei_DocumentFiscalPeriodFocus'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentFiscalPeriodFocus' use='optional' order='33.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_AuditorFirmId' xlink:label='dei_AuditorFirmId'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_AuditorFirmId' use='optional' order='34.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_AuditorName' xlink:label='dei_AuditorName'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_AuditorName' use='optional' order='35.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_AuditorLocation' xlink:label='dei_AuditorLocation'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_AuditorLocation' use='optional' order='36.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_StatementConsolidatedBalanceSheets"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract' xlink:label='us-gaap_StatementOfFinancialPositionAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract' xlink:label='us-gaap_AssetsAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_AssetsAbstract' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract' xlink:label='us-gaap_AssetsCurrentAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsAbstract' xlink:to='us-gaap_AssetsCurrentAbstract' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_CashAndCashEquivalentsAtCarryingValue' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CertificatesOfDepositAtCarryingValue' xlink:label='us-gaap_CertificatesOfDepositAtCarryingValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_CertificatesOfDepositAtCarryingValue' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent' xlink:label='us-gaap_AccountsReceivableNetCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_AccountsReceivableNetCurrent' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_InventoryNet' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidTaxes' xlink:label='us-gaap_PrepaidTaxes'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_PrepaidTaxes' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsCurrent' xlink:label='us-gaap_OtherAssetsCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_OtherAssetsCurrent' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent' xlink:label='us-gaap_AssetsCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_AssetsCurrent' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentNet' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets' xlink:label='us-gaap_Assets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsAbstract' xlink:to='us-gaap_Assets' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:label='us-gaap_LiabilitiesAndStockholdersEquityAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_LiabilitiesAndStockholdersEquityAbstract' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract' xlink:label='us-gaap_LiabilitiesCurrentAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='us-gaap_LiabilitiesCurrentAbstract' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent' xlink:label='us-gaap_AccountsPayableCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='us-gaap_AccountsPayableCurrent' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent' xlink:label='us-gaap_EmployeeRelatedLiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='us-gaap_EmployeeRelatedLiabilitiesCurrent' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='us-gaap_AccruedLiabilitiesCurrent' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerAdvancesAndDepositsCurrent' xlink:label='us-gaap_CustomerAdvancesAndDepositsCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='us-gaap_CustomerAdvancesAndDepositsCurrent' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent' xlink:label='us-gaap_LiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='us-gaap_LiabilitiesCurrent' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet' xlink:label='us-gaap_DeferredIncomeTaxLiabilitiesNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='us-gaap_DeferredIncomeTaxLiabilitiesNet' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities' xlink:label='us-gaap_Liabilities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='us-gaap_Liabilities' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract' xlink:label='us-gaap_StockholdersEquityAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='us-gaap_StockholdersEquityAbstract' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue' xlink:label='us-gaap_PreferredStockValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StockholdersEquityAbstract' xlink:to='us-gaap_PreferredStockValue' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValueOutstanding' xlink:label='us-gaap_CommonStockValueOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StockholdersEquityAbstract' xlink:to='us-gaap_CommonStockValueOutstanding' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapital' xlink:label='us-gaap_AdditionalPaidInCapital'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StockholdersEquityAbstract' xlink:to='us-gaap_AdditionalPaidInCapital' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit' xlink:label='us-gaap_RetainedEarningsAccumulatedDeficit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StockholdersEquityAbstract' xlink:to='us-gaap_RetainedEarningsAccumulatedDeficit' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockValue' xlink:label='us-gaap_TreasuryStockValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StockholdersEquityAbstract' xlink:to='us-gaap_TreasuryStockValue' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StockholdersEquityAbstract' xlink:to='us-gaap_StockholdersEquity' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity' xlink:label='us-gaap_LiabilitiesAndStockholdersEquity'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='us-gaap_LiabilitiesAndStockholdersEquity' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract' xlink:label='us-gaap_CommitmentsAndContingenciesDisclosureAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_CommitmentsAndContingenciesDisclosureAbstract' use='optional' order='3.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_StatementConsolidatedBalanceSheetsParenthetical"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheetsParenthetical">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract' xlink:label='us-gaap_StatementOfFinancialPositionAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockParOrStatedValuePerShare' xlink:label='us-gaap_PreferredStockParOrStatedValuePerShare'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_PreferredStockParOrStatedValuePerShare' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesAuthorized' xlink:label='us-gaap_PreferredStockSharesAuthorized'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_PreferredStockSharesAuthorized' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesOutstanding' xlink:label='us-gaap_PreferredStockSharesOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_PreferredStockSharesOutstanding' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare' xlink:label='us-gaap_CommonStockParOrStatedValuePerShare'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_CommonStockParOrStatedValuePerShare' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized' xlink:label='us-gaap_CommonStockSharesAuthorized'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_CommonStockSharesAuthorized' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued' xlink:label='us-gaap_CommonStockSharesIssued'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_CommonStockSharesIssued' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding' xlink:label='us-gaap_CommonStockSharesOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_CommonStockSharesOutstanding' use='optional' order='7.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_StatementConsolidatedStatementsOfIncome"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract' xlink:label='us-gaap_IncomeStatementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues' xlink:label='us-gaap_Revenues'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_Revenues' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfRevenue' xlink:label='us-gaap_CostOfRevenue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_CostOfRevenue' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit' xlink:label='us-gaap_GrossProfit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_GrossProfit' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpensesAbstract' xlink:label='us-gaap_OperatingExpensesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_OperatingExpensesAbstract' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpense' xlink:label='us-gaap_SellingGeneralAndAdministrativeExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_OperatingExpensesAbstract' xlink:to='us-gaap_SellingGeneralAndAdministrativeExpense' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment' xlink:label='us-gaap_GainLossOnSaleOfPropertyPlantEquipment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_OperatingExpensesAbstract' xlink:to='us-gaap_GainLossOnSaleOfPropertyPlantEquipment' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses' xlink:label='us-gaap_OperatingExpenses'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_OperatingExpenses' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss' xlink:label='us-gaap_OperatingIncomeLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_OperatingIncomeLoss' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense' xlink:label='us-gaap_OtherNonoperatingIncomeExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_OtherNonoperatingIncomeExpense' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' use='optional' order='8.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_IncomeTaxExpenseBenefit' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_NetIncomeLoss' use='optional' order='10.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract' xlink:label='us-gaap_EarningsPerShareAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_EarningsPerShareAbstract' use='optional' order='11.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsPerBasicShare' xlink:label='us-gaap_IncomeLossFromContinuingOperationsPerBasicShare'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_EarningsPerShareAbstract' xlink:to='us-gaap_IncomeLossFromContinuingOperationsPerBasicShare' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare' xlink:label='us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_EarningsPerShareAbstract' xlink:to='us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:label='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' use='optional' order='12.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:label='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' use='optional' order='13.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockDividendsPerShareDeclared' xlink:label='us-gaap_CommonStockDividendsPerShareDeclared'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_CommonStockDividendsPerShareDeclared' use='optional' order='14.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_StatementConsolidatedStatementsOfShareholdersEquity"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract' xlink:label='us-gaap_StatementOfStockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfStockholdersEquityAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis' xlink:label='us-gaap_StatementEquityComponentsAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementEquityComponentsAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_EquityComponentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockMember' xlink:label='us-gaap_PreferredStockMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_PreferredStockMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember' xlink:label='us-gaap_CommonStockMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_CommonStockMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember' xlink:label='us-gaap_AdditionalPaidInCapitalMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_AdditionalPaidInCapitalMember' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember' xlink:label='us-gaap_RetainedEarningsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_RetainedEarningsMember' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockMember' xlink:label='us-gaap_TreasuryStockMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_TreasuryStockMember' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockholdersEquity' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/periodStartLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding' xlink:label='us-gaap_CommonStockSharesOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_CommonStockSharesOutstanding' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/periodStartLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockShares' xlink:label='us-gaap_TreasuryStockShares'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_TreasuryStockShares' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/periodStartLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_NetIncomeLoss' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Dividends' xlink:label='us-gaap_Dividends'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_Dividends' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity_1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockholdersEquity_1' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding' xlink:label='us-gaap_CommonStockSharesOutstanding_1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_CommonStockSharesOutstanding_1' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockShares' xlink:label='us-gaap_TreasuryStockShares_1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_TreasuryStockShares_1' use='optional' order='8.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract' xlink:label='us-gaap_StatementOfStockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockDividendsPerShareDeclared' xlink:label='us-gaap_CommonStockDividendsPerShareDeclared'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfStockholdersEquityAbstract' xlink:to='us-gaap_CommonStockDividendsPerShareDeclared' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_StatementConsolidatedStatementsOfCashFlows"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract' xlink:label='us-gaap_StatementOfCashFlowsAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_NetIncomeLoss' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation' xlink:label='us-gaap_Depreciation'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_Depreciation' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnDispositionOfAssets' xlink:label='us-gaap_GainLossOnDispositionOfAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_GainLossOnDispositionOfAssets' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:label='us-gaap_DeferredIncomeTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_DeferredIncomeTaxExpenseBenefit' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:label='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:label='us-gaap_IncreaseDecreaseInAccountsReceivable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInAccountsReceivable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories' xlink:label='us-gaap_IncreaseDecreaseInInventories'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInInventories' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets' xlink:label='us-gaap_IncreaseDecreaseInOtherOperatingAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInOtherOperatingAssets' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable' xlink:label='us-gaap_IncreaseDecreaseInAccountsPayable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInAccountsPayable' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInOtherAccruedLiabilities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' xlink:label='us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInOperatingActivities' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireProductiveAssets' xlink:label='us-gaap_PaymentsToAcquireProductiveAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_PaymentsToAcquireProductiveAssets' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment' xlink:label='us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' xlink:label='us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities' xlink:label='us-gaap_PaymentsToAcquireHeldToMaturitySecurities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_PaymentsToAcquireHeldToMaturitySecurities' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInInvestingActivities' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDividendsCommonStock' xlink:label='us-gaap_PaymentsOfDividendsCommonStock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:to='us-gaap_PaymentsOfDividendsCommonStock' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInFinancingActivities' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:label='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_CashAndCashEquivalentsAtCarryingValue' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2003/role/periodStartLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValue_1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_CashAndCashEquivalentsAtCarryingValue_1' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxesPaidNet' xlink:label='us-gaap_IncomeTaxesPaidNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_IncomeTaxesPaidNet' use='optional' order='8.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock' xlink:label='us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure2BalanceSheetDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock' xlink:label='us-gaap_SupplementalBalanceSheetDisclosuresTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_SupplementalBalanceSheetDisclosuresTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxes" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure3IncomeTaxes"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxes">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock' xlink:label='us-gaap_IncomeTaxDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_IncomeTaxDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure4ProfitSharingPlan" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure4ProfitSharingPlan"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure4ProfitSharingPlan">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock' xlink:label='us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncome" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure5OtherIncome"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncome">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestAndOtherIncomeTextBlock' xlink:label='us-gaap_InterestAndOtherIncomeTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_InterestAndOtherIncomeTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformation" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure6SegmentInformation"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformation">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingDisclosureTextBlock' xlink:label='us-gaap_SegmentReportingDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_SegmentReportingDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure7AdditionalFinancialInformationDisclosure" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure7AdditionalFinancialInformationDisclosure"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure7AdditionalFinancialInformationDisclosure">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalFinancialInformationDisclosureTextBlock' xlink:label='us-gaap_AdditionalFinancialInformationDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_AdditionalFinancialInformationDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure8CommitmentsAndContingencies" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure8CommitmentsAndContingencies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure8CommitmentsAndContingencies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock' xlink:label='us-gaap_CommitmentsAndContingenciesDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_CommitmentsAndContingenciesDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure9Covid19" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure9Covid19"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure9Covid19">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock' xlink:label='us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure10SubsequentEvents" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure10SubsequentEvents"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure10SubsequentEvents">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSubsequentEventsTextBlock' xlink:label='us-gaap_ScheduleOfSubsequentEventsTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_ScheduleOfSubsequentEventsTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_DisclosureSignificantAccountingPoliciesPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_DisclosureSignificantAccountingPoliciesPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConsolidationPolicyTextBlock' xlink:label='us-gaap_ConsolidationPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_ConsolidationPolicyTextBlock' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure' xlink:label='us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskCreditRisk' xlink:label='us-gaap_ConcentrationRiskCreditRisk'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_ConcentrationRiskCreditRisk' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock' xlink:label='us-gaap_CashAndCashEquivalentsPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_CashAndCashEquivalentsPolicyTextBlock' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy' xlink:label='us-gaap_FairValueOfFinancialInstrumentsPolicy'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_FairValueOfFinancialInstrumentsPolicy' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryPolicyTextBlock' xlink:label='us-gaap_InventoryPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_InventoryPolicyTextBlock' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock' xlink:label='us-gaap_PropertyPlantAndEquipmentPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentPolicyTextBlock' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxPolicyTextBlock' xlink:label='us-gaap_IncomeTaxPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_IncomeTaxPolicyTextBlock' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock' xlink:label='us-gaap_SegmentReportingPolicyPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_SegmentReportingPolicyPolicyTextBlock' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerSharePolicyTextBlock' xlink:label='us-gaap_EarningsPerSharePolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_EarningsPerSharePolicyTextBlock' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseOfEstimates' xlink:label='us-gaap_UseOfEstimates'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_UseOfEstimates' use='optional' order='11.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock' xlink:label='us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock' use='optional' order='12.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure2BalanceSheetDetailsInventoryTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock' xlink:label='us-gaap_ScheduleOfInventoryCurrentTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfInventoryCurrentTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock' xlink:label='us-gaap_PropertyPlantAndEquipmentTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentTextBlock' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' xlink:label='us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock' xlink:label='srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock' xlink:label='us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock' xlink:label='us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock' xlink:label='us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncomeOtherIncomeTables" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure5OtherIncomeOtherIncomeTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncomeOtherIncomeTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestAndOtherIncomeTableTextBlock' xlink:label='us-gaap_InterestAndOtherIncomeTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_InterestAndOtherIncomeTableTextBlock' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock' xlink:label='us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis' xlink:label='srt_ProductOrServiceAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_ProductOrServiceAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_EndMarketMember' xlink:label='fil_EndMarketMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='fil_EndMarketMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis' xlink:label='srt_StatementGeographicalAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_StatementGeographicalAxis' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_LocationMember' xlink:label='fil_LocationMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='fil_LocationMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock' xlink:label='us-gaap_DisaggregationOfRevenueTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_DisaggregationOfRevenueTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureDeferredRevenueRecognizedDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_DisclosureDeferredRevenueRecognizedDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_DisclosureDeferredRevenueRecognizedDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized' xlink:label='us-gaap_ContractWithCustomerLiabilityRevenueRecognized'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ContractWithCustomerLiabilityRevenueRecognized' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:label='us-gaap_PropertyPlantAndEquipmentByTypeAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_PropertyPlantAndEquipmentByTypeAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:label='us-gaap_PropertyPlantAndEquipmentTypeDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_PropertyPlantAndEquipmentTypeDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandImprovementsMember' xlink:label='us-gaap_LandImprovementsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_LandImprovementsMember' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingImprovementsMember' xlink:label='us-gaap_BuildingImprovementsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_BuildingImprovementsMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentMember' xlink:label='us-gaap_MachineryAndEquipmentMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_MachineryAndEquipmentMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SoftwareAndSoftwareDevelopmentCostsMember' xlink:label='us-gaap_SoftwareAndSoftwareDevelopmentCostsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_SoftwareAndSoftwareDevelopmentCostsMember' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember' xlink:label='us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis' xlink:label='srt_RangeAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_RangeAxis' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember' xlink:label='srt_RangeMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember' xlink:label='srt_MinimumMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_MinimumMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember' xlink:label='srt_MaximumMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_MaximumMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife' xlink:label='us-gaap_PropertyPlantAndEquipmentUsefulLife'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PropertyPlantAndEquipmentUsefulLife' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilityForUncertainTaxPositionsCurrent' xlink:label='us-gaap_LiabilityForUncertainTaxPositionsCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LiabilityForUncertainTaxPositionsCurrent' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' xlink:label='us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:label='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure2BalanceSheetDetailsInventoryDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterials' xlink:label='us-gaap_InventoryRawMaterials'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryRawMaterials' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcess' xlink:label='us-gaap_InventoryWorkInProcess'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryWorkInProcess' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoods' xlink:label='us-gaap_InventoryFinishedGoods'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryFinishedGoods' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryValuationReserves' xlink:label='us-gaap_InventoryValuationReserves'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryValuationReserves' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryNet' use='optional' order='5.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandAndLandImprovements' xlink:label='us-gaap_LandAndLandImprovements'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LandAndLandImprovements' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingsAndImprovementsGross' xlink:label='us-gaap_BuildingsAndImprovementsGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_BuildingsAndImprovementsGross' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentGross' xlink:label='us-gaap_MachineryAndEquipmentGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_MachineryAndEquipmentGross' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentOther' xlink:label='us-gaap_PropertyPlantAndEquipmentOther'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentOther' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:label='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentOtherNet' xlink:label='us-gaap_PropertyPlantAndEquipmentOtherNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentOtherNet' use='optional' order='6.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherEmployeeRelatedLiabilitiesCurrent' xlink:label='us-gaap_OtherEmployeeRelatedLiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OtherEmployeeRelatedLiabilitiesCurrent' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent' xlink:label='us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccruedLiabilitiesCurrent' xlink:label='us-gaap_OtherAccruedLiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OtherAccruedLiabilitiesCurrent' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_AccruedLiabilitiesCurrent' use='optional' order='4.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:label='us-gaap_ValuationAllowancesAndReservesTypeAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_ValuationAllowancesAndReservesTypeAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain' xlink:label='us-gaap_ValuationAllowancesAndReservesDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:to='us-gaap_ValuationAllowancesAndReservesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossMember' xlink:label='us-gaap_AllowanceForCreditLossMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:to='us-gaap_AllowanceForCreditLossMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryValuationReserveMember' xlink:label='us-gaap_InventoryValuationReserveMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:to='us-gaap_InventoryValuationReserveMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesBalance' xlink:label='us-gaap_ValuationAllowancesAndReservesBalance'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ValuationAllowancesAndReservesBalance' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/periodStartLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense' xlink:label='us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDeductions' xlink:label='us-gaap_ValuationAllowancesAndReservesDeductions'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ValuationAllowancesAndReservesDeductions' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesBalance' xlink:label='us-gaap_ValuationAllowancesAndReservesBalance_1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ValuationAllowancesAndReservesBalance_1' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations' xlink:label='us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit' xlink:label='us-gaap_CurrentStateAndLocalTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_CurrentStateAndLocalTaxExpenseBenefit' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:label='us-gaap_DeferredIncomeTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredIncomeTaxExpenseBenefit' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeTaxExpenseBenefit' use='optional' order='4.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' xlink:label='us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate' xlink:label='us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments' xlink:label='us-gaap_IncomeTaxReconciliationOtherAdjustments'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeTaxReconciliationOtherAdjustments' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments' xlink:label='us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes' xlink:label='us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes' xlink:label='us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeTaxExpenseBenefit' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations' xlink:label='us-gaap_EffectiveIncomeTaxRateContinuingOperations'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EffectiveIncomeTaxRateContinuingOperations' use='optional' order='8.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment' xlink:label='us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsInventory' xlink:label='us-gaap_DeferredTaxAssetsInventory'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxAssetsInventory' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences' xlink:label='us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' xlink:label='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOther' xlink:label='us-gaap_DeferredTaxAssetsOther'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxAssetsOther' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet' xlink:label='us-gaap_DeferredTaxAssetsLiabilitiesNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxAssetsLiabilitiesNet' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureOtherIncomeTaxDisclosuresDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_DisclosureOtherIncomeTaxDisclosuresDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_DisclosureOtherIncomeTaxDisclosuresDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance' xlink:label='us-gaap_DeferredTaxAssetsValuationAllowance'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxAssetsValuationAllowance' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureProfitSharingPlanDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_DisclosureProfitSharingPlanDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_DisclosureProfitSharingPlanDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount' xlink:label='us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure5OtherIncomeOtherIncomeDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentIncomeInterest' xlink:label='us-gaap_InvestmentIncomeInterest'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InvestmentIncomeInterest' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncome' xlink:label='us-gaap_OtherNonoperatingIncome'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OtherNonoperatingIncome' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense' xlink:label='us-gaap_OtherNonoperatingIncomeExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OtherNonoperatingIncomeExpense' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis' xlink:label='us-gaap_StatementBusinessSegmentsAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementBusinessSegmentsAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain' xlink:label='us-gaap_SegmentDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='us-gaap_SegmentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_FastenerMember' xlink:label='fil_FastenerMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='fil_FastenerMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_AssemblyEquipmentMember' xlink:label='fil_AssemblyEquipmentMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='fil_AssemblyEquipmentMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_UnallocatedCorporateMember' xlink:label='fil_UnallocatedCorporateMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='fil_UnallocatedCorporateMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues' xlink:label='us-gaap_Revenues'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_Revenues' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation' xlink:label='us-gaap_Depreciation'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_Depreciation' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_SegmentOperatingProfit' xlink:label='fil_SegmentOperatingProfit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_SegmentOperatingProfit' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_SellingAndAdministrativeExpensesUnallocatedCorporate' xlink:label='fil_SellingAndAdministrativeExpensesUnallocatedCorporate'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_SellingAndAdministrativeExpensesUnallocatedCorporate' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment' xlink:label='us-gaap_GainLossOnSaleOfPropertyPlantEquipment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_GainLossOnSaleOfPropertyPlantEquipment' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestAndOtherIncome' xlink:label='us-gaap_InterestAndOtherIncome'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_InterestAndOtherIncome' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:label='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent' xlink:label='us-gaap_AccountsReceivableNetCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_AccountsReceivableNetCurrent' use='optional' order='8.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_InventoryNet' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PropertyPlantAndEquipmentNet' use='optional' order='10.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssets' xlink:label='us-gaap_OtherAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_OtherAssets' use='optional' order='11.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis' xlink:label='us-gaap_StatementBusinessSegmentsAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementBusinessSegmentsAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain' xlink:label='us-gaap_SegmentDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='us-gaap_SegmentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_FastenerMember' xlink:label='fil_FastenerMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='fil_FastenerMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_AssemblyEquipmentMember' xlink:label='fil_AssemblyEquipmentMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='fil_AssemblyEquipmentMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis' xlink:label='srt_ProductOrServiceAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_ProductOrServiceAxis' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_AutomotiveMember' xlink:label='fil_AutomotiveMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='fil_AutomotiveMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_NonautomotiveMember' xlink:label='fil_NonautomotiveMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='fil_NonautomotiveMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis' xlink:label='srt_StatementGeographicalAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_StatementGeographicalAxis' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US' xlink:label='country_US'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='country_US' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonUsMember' xlink:label='us-gaap_NonUsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='us-gaap_NonUsMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:label='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis' xlink:label='srt_MajorCustomersAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_MajorCustomersAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain' xlink:label='srt_NameOfMajorCustomerDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_MajorCustomersAxis' xlink:to='srt_NameOfMajorCustomerDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_TIGroupAutomotiveSystemsMember' xlink:label='fil_TIGroupAutomotiveSystemsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_MajorCustomersAxis' xlink:to='fil_TIGroupAutomotiveSystemsMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_CooperStandardHoldingsIncMember' xlink:label='fil_CooperStandardHoldingsIncMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_MajorCustomersAxis' xlink:to='fil_CooperStandardHoldingsIncMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20221231.xsd#fil_ParkerHannifinCorporationMember' xlink:label='fil_ParkerHannifinCorporationMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_MajorCustomersAxis' xlink:to='fil_ParkerHannifinCorporationMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1' xlink:label='us-gaap_ConcentrationRiskPercentage1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ConcentrationRiskPercentage1' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalInformationAboutEntitysReportableSegments' xlink:label='us-gaap_AdditionalInformationAboutEntitysReportableSegments'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_AdditionalInformationAboutEntitysReportableSegments' use='optional' order='2.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureCommitmentsAndContingenciesDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_DisclosureCommitmentsAndContingenciesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_DisclosureCommitmentsAndContingenciesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeasesRentExpenseNet' xlink:label='us-gaap_OperatingLeasesRentExpenseNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeasesRentExpenseNet' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals' xlink:label='us-gaap_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20221231/role/idr_DisclosureSubsequentEventsDetails" xlink:type="simple" xlink:href="cvr-20221231.xsd#idr_DisclosureSubsequentEventsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20221231/role/idr_DisclosureSubsequentEventsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsPayableDateDeclaredDayMonthAndYear' xlink:label='us-gaap_DividendsPayableDateDeclaredDayMonthAndYear'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DividendsPayableDateDeclaredDayMonthAndYear' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsPayableAmountPerShare' xlink:label='us-gaap_DividendsPayableAmountPerShare'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DividendsPayableAmountPerShare' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsPayableCurrent' xlink:label='us-gaap_DividendsPayableCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DividendsPayableCurrent' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendPayableDateToBePaidDayMonthAndYear' xlink:label='us-gaap_DividendPayableDateToBePaidDayMonthAndYear'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DividendPayableDateToBePaidDayMonthAndYear' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsPayableDateOfRecordDayMonthAndYear' xlink:label='us-gaap_DividendsPayableDateOfRecordDayMonthAndYear'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DividendsPayableDateOfRecordDayMonthAndYear' use='optional' order='5.0'/>
	</link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>10
<FILENAME>g486850cvr10k2022_12.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 g486850cvr10k2022_12.jpg
M_]C_X  02D9)1@ ! 0$ W #<  #_VP!#  (! 0$! 0(! 0$" @(" @0# @("
M @4$! ,$!@4&!@8%!@8&!PD(!@<)!P8&" L("0H*"@H*!@@+# L*# D*"@K_
MVP!# 0(" @(" @4# P4*!P8'"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*
M"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@K_P  1" "B +,# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
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
MU",M/-7/-_\ A3_B#_G_ +7]:/\ A3_B#_G_ +7]:](HKQ/^)3/!?_H%J?\
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
M^)7Q,\6Z?H/A_0_"OA6]UG6M6NE@MK*WC\2:PSRRR,0J(H&2Q. *_3SXF?\
M!=K_ ()!?"_P/?>.=;_;_P#AOJEM9",2:?X7U^/5[Z<R2+&JQ6EGYDTIW.,[
M4.U=S-A58CQ>*."^%^-,/3H9WA(5XP?-%25[.UM/D94<16P\FZ<FKF/^S?\
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
MK#!%]ED4A&;6/+=E<[([WP\_9#^&'Q1_X.M?CI^SK^UOXK\9>#S\0-,U;4_
M/_"$^+;K3+O59V%G?PH;FP8E(FL8+V8QRLB[H5!_>;%/ZR?\$X/^"&_[!_\
MP2S^)OB?XP?LP:'XF;7_ !3I*Z7<WGB37OM?V.R\X3O! JH@57D2$L7#M^X3
M!7YMW<?MT_\ !+3]D#_@H7<:#XF^.O@[4K'QCX3EBD\'_$7P?K$FEZ_H31W,
M=RIMKJ+IB2/*[U?RS)(T>QV+4 ?FS_P5;_8'_P""&?[&&K?#OX=?M@+^TI\4
M/$'CG59+;P3X+\._$J[\0:H9F:.,-'9W-VD@\V1TB0QJQ=QL'( K!_X-\/\
ME8=_;Z_['#Q5_P"I;-7WK\!O^"!'[!?P9_:-LOVM/&=S\0OBU\0-(:W?0?$7
MQD\<3Z_-I<L!8Q2P^8JY9"V4\S>(V560*RAJL:K_ ,$(OV*X/VO=3_;7^%/B
MSXI?#?QEX@UO^U_%D?P\^(EUIUEX@O&OFOIFO(L.9DFF8F2'<(B  $6@#[1H
MHHH **** "F_\M*** '4444 %%%% !5*R\.>'M.N?M>GZ#9P3#I+#:HK#(YY
J HHH NT444 %%%% #'^]3Z** &QTX]*** &IUIU%% !1110 4444 ?_9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468770603552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document and Entity Information - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Mar. 24, 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_TextBlockAbstract', window );"><strong>Details</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_dei_EntityCentralIndexKey', window );">Registrant CIK</a></td>
<td class="text">0000019871<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_dei_CurrentFiscalYearEndDate', window );">Fiscal Year End</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" 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-K<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">Dec. 31,  2022<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_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" 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">000-01227<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_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">CHICAGO RIVET & MACHINE CO<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_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">IL<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_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">36-0904920<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_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">901 Frontenac Road<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_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Naperville<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_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">IL<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_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">60563<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_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">630<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_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">357-8500<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_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, par value $1.00 per share<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_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">CVR<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_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NYSEAMER<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_dei_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<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>
<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>
<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>
<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>
<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_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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>
<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_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 22,381,687<span></span>
</td>
</tr>
<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">966,132<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_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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">2022<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_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">173<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_dei_AuditorName', window );">Auditor Name</a></td>
<td class="text">Crowe LLP<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_dei_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">Oak Brook, Illinois<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</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-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorFirmId</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:nonemptySequenceNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorLocation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_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_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 annual 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-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAnnualReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_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_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_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.</p></div>
<a href="javascript:void(0);" onclick="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_EntityPublicFloat</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="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_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_IcfrAuditorAttestationFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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>12
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468770681392">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 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_AssetsCurrentAbstract', window );"><strong>Current Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" 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">$ 4,045,101<span></span>
</td>
<td class="nump">$ 2,036,954<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CertificatesOfDepositAtCarryingValue', window );">Certificates of Deposit</a></td>
<td class="nump">2,691,000<span></span>
</td>
<td class="nump">2,741,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 - Less allowances of $160,000 and $170,000, respectively</a></td>
<td class="nump">4,975,137<span></span>
</td>
<td class="nump">5,647,984<span></span>
</td>
</tr>
<tr class="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, net</a></td>
<td class="nump">9,121,230<span></span>
</td>
<td class="nump">8,519,780<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidTaxes', window );">Prepaid Income Taxes</a></td>
<td class="nump">509,119<span></span>
</td>
<td class="nump">440<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsCurrent', window );">Other Current Assets</a></td>
<td class="nump">422,747<span></span>
</td>
<td class="nump">346,236<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_AssetsCurrent', window );">Total Current Assets</a></td>
<td class="nump">21,764,334<span></span>
</td>
<td class="nump">19,292,394<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">11,861,793<span></span>
</td>
<td class="nump">12,473,864<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_Assets', window );">Total Assets</a></td>
<td class="nump">33,626,127<span></span>
</td>
<td class="nump">31,766,258<span></span>
</td>
</tr>
<tr class="re">
<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 Liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" 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">697,235<span></span>
</td>
<td class="nump">692,635<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Accrued Wages and Salaries</a></td>
<td class="nump">462,332<span></span>
</td>
<td class="nump">509,332<span></span>
</td>
</tr>
<tr class="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 );">Other Accrued Expenses</a></td>
<td class="nump">327,961<span></span>
</td>
<td class="nump">366,418<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CustomerAdvancesAndDepositsCurrent', window );">Unearned Revenue and Customer Deposits</a></td>
<td class="nump">203,717<span></span>
</td>
<td class="nump">302,424<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">1,691,245<span></span>
</td>
<td class="nump">1,870,809<span></span>
</td>
</tr>
<tr class="re">
<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 Taxes, net</a></td>
<td class="nump">948,084<span></span>
</td>
<td class="nump">926,084<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">2,639,329<span></span>
</td>
<td class="nump">2,796,893<span></span>
</td>
</tr>
<tr class="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>Shareholders' 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_PreferredStockValue', window );">Preferred Stock, No Par Value, 500,000 Shares Authorized: None Outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValueOutstanding', window );">Common Stock, $1.00 Par Value, 4,000,000 Shares Authorized: 1,138,096 Shares Issued, 966,132 Shares Outstanding</a></td>
<td class="nump">1,138,096<span></span>
</td>
<td class="nump">1,138,096<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Additional Paid-in Capital</a></td>
<td class="nump">447,134<span></span>
</td>
<td class="nump">447,134<span></span>
</td>
</tr>
<tr class="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 );">Retained Earnings</a></td>
<td class="nump">33,323,666<span></span>
</td>
<td class="nump">31,306,233<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Treasury Stock, 171,964 Shares at cost</a></td>
<td class="num">(3,922,098)<span></span>
</td>
<td class="num">(3,922,098)<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_StockholdersEquity', window );">Total Shareholders' Equity</a></td>
<td class="nump">30,986,798<span></span>
</td>
<td class="nump">28,969,365<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_LiabilitiesAndStockholdersEquity', window );">Total Liabilities and Shareholders' Equity</a></td>
<td class="nump">$ 33,626,127<span></span>
</td>
<td class="nump">$ 31,766,258<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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_CertificatesOfDepositAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 savings certificate entitling the Entity (that is, bearer) to receive interest at an established maturity date, based upon a fixed interest rate. A certificate of deposit may be issued in any denomination. Certificates of deposit are generally issued by commercial banks and, therefore, insured by the FDIC (up to the prescribed limit). Certificates of deposit generally restrict holders from withdrawing funds on demand without the incurrence of penalties. Generally, only certificates of deposit with original maturities of three months or less qualify as cash equivalents. Original maturity means original maturity to the entity holding the investment. As a related example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CertificatesOfDepositAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_CommonStockValueOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 all classes of common stock held by shareholders. May be all or portion of the number of common shares authorized. These shares exclude common shares repurchased by the entity and held as treasury shares.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValueOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_CustomerAdvancesAndDepositsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 portion of aggregate prepayments received from customers for goods or services to be provided in the future, as well as the current portion of money or property received from customers that are to be returned upon satisfactory contract completion or as partial prepayment for goods or services to be provided in the future.</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/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CustomerAdvancesAndDepositsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6904-107765<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_OtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 assets classified as other.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income and other taxes 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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6387103&amp;loc=d3e6435-108320<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 10<br> -Section 05<br> -Paragraph 5<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126905020&amp;loc=d3e5879-108316<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>The cumulative amount of the reporting entity's undistributed earnings or deficit.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_TreasuryStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=6405834&amp;loc=d3e23315-112656<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>13
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468773008928">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets - Parenthetical - $ / shares<br></strong></div></th>
<th class="th"><div>Dec. 31, 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_StatementOfFinancialPositionAbstract', window );"><strong>Consolidated Balance Sheets</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_PreferredStockParOrStatedValuePerShare', window );">Preferred Stock, Par or Stated Value Per Share</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<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">500,000<span></span>
</td>
<td class="nump">500,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_PreferredStockSharesOutstanding', window );">Preferred Stock, Shares Outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="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 or Stated Value Per Share</a></td>
<td class="nump">$ 1.00<span></span>
</td>
<td class="nump">$ 1.00<span></span>
</td>
</tr>
<tr class="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">4,000,000<span></span>
</td>
<td class="nump">4,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_CommonStockSharesIssued', window );">Common Stock, Shares, Issued</a></td>
<td class="nump">1,138,096<span></span>
</td>
<td class="nump">1,138,096<span></span>
</td>
</tr>
<tr class="ro">
<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">966,132<span></span>
</td>
<td class="nump">966,132<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="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>14
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468773081824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Income - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_IncomeStatementAbstract', window );"><strong>Consolidated Statements of Income</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_Revenues', window );">Net Sales</a></td>
<td class="nump">$ 33,646,033<span></span>
</td>
<td class="nump">$ 33,974,558<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of Goods Sold</a></td>
<td class="nump">29,830,710<span></span>
</td>
<td class="nump">27,509,466<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,815,323<span></span>
</td>
<td class="nump">6,465,092<span></span>
</td>
</tr>
<tr class="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 (Income) Expenses</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling and Administrative Expenses</a></td>
<td class="nump">4,992,521<span></span>
</td>
<td class="nump">5,106,177<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Gain on Sale of Property</a></td>
<td class="num">(4,738,394)<span></span>
</td>
<td class="nump">0<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_OperatingExpenses', window );">Total Operating Expenses</a></td>
<td class="nump">254,127<span></span>
</td>
<td class="nump">5,106,177<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_OperatingIncomeLoss', window );">Operating Profit</a></td>
<td class="nump">3,561,196<span></span>
</td>
<td class="nump">1,358,915<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other Income</a></td>
<td class="nump">91,433<span></span>
</td>
<td class="nump">55,557<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic', window );">Income Before Income Taxes</a></td>
<td class="nump">3,652,629<span></span>
</td>
<td class="nump">1,414,472<span></span>
</td>
</tr>
<tr class="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 );">Provision for Income Taxes</a></td>
<td class="nump">785,000<span></span>
</td>
<td class="nump">301,000<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</a></td>
<td class="nump">$ 2,867,629<span></span>
</td>
<td class="nump">$ 1,113,472<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Per Share Data</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_IncomeLossFromContinuingOperationsPerBasicShare', window );">Basic net income per share</a></td>
<td class="nump">$ 2.97<span></span>
</td>
<td class="nump">$ 1.15<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare', window );">Diluted net income per share</a></td>
<td class="nump">$ 2.97<span></span>
</td>
<td class="nump">$ 1.15<span></span>
</td>
</tr>
<tr class="re">
<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 );">Basic</a></td>
<td class="nump">966,132<span></span>
</td>
<td class="nump">966,132<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Diluted</a></td>
<td class="nump">966,132<span></span>
</td>
<td class="nump">966,132<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockDividendsPerShareDeclared', window );">Cash Dividends Declared Per Share</a></td>
<td class="nump">$ 0.88<span></span>
</td>
<td class="nump">$ 0.88<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_CommonStockDividendsPerShareDeclared">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 dividends declared during the period for each share of common stock outstanding.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockDividendsPerShareDeclared</td>
</tr>
<tr>
<td style="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_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cost of goods produced and sold and services rendered 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 property, plant and equipment assets, including oil and gas property and timber property.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 earnings or loss from continuing operations before income taxes that is attributable to domestic 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.3)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncomeLossFromContinuingOperationsPerBasicShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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) from continuing operations 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-03(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868656-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsPerBasicShare</td>
</tr>
<tr>
<td style="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_IncomeLossFromContinuingOperationsPerDilutedShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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) derived from continuing operations during 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-03(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868656-224227<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare</td>
</tr>
<tr>
<td style="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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (expense) related to nonoperating activities, classified as other.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>15
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468771671184">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Statements of Shareholders' Equity - USD ($)<br></strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Preferred Stock</div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Retained Earnings</div></th>
<th class="th"><div>Treasury Stock</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_StockholdersEquity', window );">Beginning Balance at Dec. 31, 2020</a></td>
<td class="nump">$ 28,706,089<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 1,138,096<span></span>
</td>
<td class="nump">$ 447,134<span></span>
</td>
<td class="nump">$ 31,042,957<span></span>
</td>
<td class="num">$ (3,922,098)<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_CommonStockSharesOutstanding', window );">Common Stock Shares at Dec. 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">966,132<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_TreasuryStockShares', window );">Treasury Stock Shares at Dec. 31, 2020</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">171,964<span></span>
</td>
</tr>
<tr class="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 );">Net Income</a></td>
<td class="nump">1,113,472<span></span>
</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,113,472<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_Dividends', window );">Dividends Declared</a></td>
<td class="num">(850,196)<span></span>
</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">(850,196)<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_StockholdersEquity', window );">Ending Balance at Dec. 31, 2021</a></td>
<td class="nump">$ 28,969,365<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 1,138,096<span></span>
</td>
<td class="nump">447,134<span></span>
</td>
<td class="nump">31,306,233<span></span>
</td>
<td class="num">$ (3,922,098)<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_CommonStockSharesOutstanding', window );">Common Stock Shares at Dec. 31, 2021</a></td>
<td class="nump">966,132<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">966,132<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_TreasuryStockShares', window );">Treasury Stock Shares at Dec. 31, 2021</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">171,964<span></span>
</td>
</tr>
<tr class="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 );">Net Income</a></td>
<td class="nump">$ 2,867,629<span></span>
</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,867,629<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_Dividends', window );">Dividends Declared</a></td>
<td class="num">(850,196)<span></span>
</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">(850,196)<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_StockholdersEquity', window );">Ending Balance at Dec. 31, 2022</a></td>
<td class="nump">$ 30,986,798<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 1,138,096<span></span>
</td>
<td class="nump">$ 447,134<span></span>
</td>
<td class="nump">$ 33,323,666<span></span>
</td>
<td class="num">$ (3,922,098)<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_CommonStockSharesOutstanding', window );">Common Stock Shares at Dec. 31, 2022</a></td>
<td class="nump">966,132<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">966,132<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_TreasuryStockShares', window );">Treasury Stock Shares at Dec. 31, 2022</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">171,964<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 405<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6957935&amp;loc=d3e64057-112817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_TreasuryStockShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468774610400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Shareholders' Equity - Parenthetical - $ / shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_StatementOfStockholdersEquityAbstract', window );"><strong>Consolidated Statements of Shareholders' 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_CommonStockDividendsPerShareDeclared', window );">Cash Dividends Declared Per Share</a></td>
<td class="nump">$ 0.88<span></span>
</td>
<td class="nump">$ 0.88<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_CommonStockDividendsPerShareDeclared">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 dividends declared during the period for each share of common stock outstanding.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockDividendsPerShareDeclared</td>
</tr>
<tr>
<td style="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_StatementOfStockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementOfStockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-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>17
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468770657408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Cash Flows - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 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_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash Flows from Operating Activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income</a></td>
<td class="nump">$ 2,867,629<span></span>
</td>
<td class="nump">$ 1,113,472<span></span>
</td>
</tr>
<tr class="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 Net Cash Used in Operating Activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation and Amortization</a></td>
<td class="nump">1,279,870<span></span>
</td>
<td class="nump">1,318,554<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnDispositionOfAssets', window );">(Gain) Loss on the Sale of Property and Equipment</a></td>
<td class="num">(4,741,096)<span></span>
</td>
<td class="nump">21,564<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred Income Taxes</a></td>
<td class="nump">22,000<span></span>
</td>
<td class="num">(85,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_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in Operating Assets and Liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts Receivable, net</a></td>
<td class="nump">672,847<span></span>
</td>
<td class="num">(484,534)<span></span>
</td>
</tr>
<tr class="re">
<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 );">Inventories, net</a></td>
<td class="num">(601,450)<span></span>
</td>
<td class="num">(3,366,486)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets', window );">Other Current Assets</a></td>
<td class="num">(585,190)<span></span>
</td>
<td class="nump">123,036<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts Payable</a></td>
<td class="nump">4,600<span></span>
</td>
<td class="nump">226,211<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities', window );">Accrued Wages and Salaries</a></td>
<td class="num">(47,000)<span></span>
</td>
<td class="nump">27,324<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities', window );">Other Accrued Expenses</a></td>
<td class="num">(38,457)<span></span>
</td>
<td class="nump">43,450<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits', window );">Unearned Revenue and Customer Deposits</a></td>
<td class="num">(98,707)<span></span>
</td>
<td class="nump">52,926<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 );">Net Cash Used in Operating Activities</a></td>
<td class="num">(1,264,954)<span></span>
</td>
<td class="num">(1,009,483)<span></span>
</td>
</tr>
<tr class="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>Cash Flows from Investing Activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireProductiveAssets', window );">Capital Expenditures</a></td>
<td class="num">(969,943)<span></span>
</td>
<td class="num">(670,898)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Proceeds from the Sale of Property and Equipment</a></td>
<td class="nump">5,043,240<span></span>
</td>
<td class="nump">7,800<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities', window );">Proceeds from Certificates of Deposit</a></td>
<td class="nump">1,495,000<span></span>
</td>
<td class="nump">4,484,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_PaymentsToAcquireHeldToMaturitySecurities', window );">Purchases of Certificates of Deposit</a></td>
<td class="num">(1,445,000)<span></span>
</td>
<td class="num">(2,492,000)<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 );">Net Cash Provided by Investing Activities</a></td>
<td class="nump">4,123,297<span></span>
</td>
<td class="nump">1,328,902<span></span>
</td>
</tr>
<tr class="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>Cash Flows from Financing Activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDividendsCommonStock', window );">Cash Dividends Paid</a></td>
<td class="num">(850,196)<span></span>
</td>
<td class="num">(850,196)<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 );">Net Cash Used in Financing Activities</a></td>
<td class="num">(850,196)<span></span>
</td>
<td class="num">(850,196)<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect', window );">Net Increase (Decrease) in Cash and Cash Equivalents</a></td>
<td class="nump">2,008,147<span></span>
</td>
<td class="num">(530,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_CashAndCashEquivalentsAtCarryingValueAbstract', window );"><strong>Cash and Cash Equivalents</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_CashAndCashEquivalentsAtCarryingValue', window );">Beginning of Year</a></td>
<td class="nump">2,036,954<span></span>
</td>
<td class="nump">2,567,731<span></span>
</td>
</tr>
<tr class="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 );">End of Year</a></td>
<td class="nump">4,045,101<span></span>
</td>
<td class="nump">2,036,954<span></span>
</td>
</tr>
<tr class="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 );">Cash Paid for Income Taxes</a></td>
<td class="nump">$ 1,271,679<span></span>
</td>
<td class="nump">$ 300,500<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_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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_CashAndCashEquivalentsAtCarryingValueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CashAndCashEquivalentsAtCarryingValueAbstract</td>
</tr>
<tr>
<td style="padding-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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax expense (benefit) pertaining to income (loss) from continuing operations.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_GainLossOnDispositionOfAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 property, plant and equipment assets, excluding oil and gas property and timber property.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126905981&amp;loc=d3e2443-110228<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnDispositionOfAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4297-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount 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.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IncreaseDecreaseInCustomerAdvancesAndDeposits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (a) prepayments by customers for goods or services to be provided at a later date, (b) the amount of customer money held in customer accounts, including security deposits, collateral for a current or future transactions, initial payment of the cost of acquisition or for the right to enter into a contract or agreement, or (c) a combination of (a) and (b).</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/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncreaseDecreaseInEmployeeRelatedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IncreaseDecreaseInOtherAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 other expenses incurred but not yet 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncreaseDecreaseInOtherOperatingAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 operating assets classified as other.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PaymentsOfDividendsCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 in the form of ordinary dividends to common shareholders of the 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDividendsCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PaymentsToAcquireHeldToMaturitySecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 through purchase of long-term held-to-maturity securities.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26853-111562<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireHeldToMaturitySecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PaymentsToAcquireProductiveAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 purchases of and capital improvements on property, plant and equipment (capital expenditures), software, and other 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 50<br> -Section 30<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126928898&amp;loc=d3e9212-128498<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 50<br> -Section 30<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126928898&amp;loc=d3e9215-128498<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 50<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=127000608&amp;loc=d3e9135-128495<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireProductiveAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 maturity, prepayments and calls (requests for early payments) of debt securities designated as held-to-maturity.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26853-111562<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProceedsFromSaleOfPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>18
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468860647920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>1 - Nature of Business and Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes</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_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock', window );">1 - Nature of Business and Significant Accounting Policies</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>1 - Nature of Business and Significant Accounting Policies</b></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Nature of Business-</b>The Company operates in the fastener industry and is in the business of producing and selling rivets, cold-formed fasteners and parts, screw machine products, automatic rivet setting machines and parts and tools for such machines.</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>A summary of the Company&#8217;s significant accounting policies follows:</b></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Principles of Consolidation-</b>The consolidated financial statements include the accounts of Chicago Rivet &amp; Machine Co. and its wholly-owned subsidiary, H &amp; L Tool Company, Inc. (&#8220;H &amp; L Tool&#8221;). &#160;All significant intercompany accounts and transactions have been eliminated.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Revenue Recognition-</b> Revenue is recognized when control of the promised goods or services is transferred to our customers, generally upon shipment of goods or completion of services, in an amount that reflects the consideration we expect to receive in exchange for those goods or services. &#160;Sales taxes we may collect concurrent with revenue producing activities are excluded from revenue. &#160;Revenue is recognized net of certain sales adjustments to arrive at net sales as reported on the statement of income. &#160;These adjustments primarily relate to customer returns and allowances, which vary over time. &#160;The Company records a liability and reduction in sales for estimated product returns based upon historical experience. &#160;If we determine that our obligation under warranty claims is probable and subject to reasonable determination, an estimate of that liability is recorded as an offset against revenue at that time. &#160;As of December 31, 2022 and 2021, reserves for warranty claims were not material. &#160;Cash received by the Company prior to shipment is recorded as unearned revenue. &#160;In 2022 and 2021 the Company recognized revenue from such payments of $302,357 and $248,799, respectively, that was included in the unearned revenue balance at the beginning of the period. &#160;Shipping and handling fees billed to customers are recognized in net sales, and related costs as cost of sales, when incurred.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Credit Risk-</b>The Company extends credit on the basis of terms that are customary within our markets to various companies doing business primarily in the automotive industry. &#160;The Company has a concentration of credit risk primarily within the automotive industry and in the Midwestern United States. &#160;The Company has established an allowance for accounts that may become uncollectible in the future. &#160;This estimated allowance is based primarily on management's evaluation of the financial condition of the customer and historical experience. &#160;The Company monitors its accounts receivable and charges to expense an amount equal to its estimate of potential credit losses. &#160;The Company considers a number of factors in determining its estimates, including the length of time its trade accounts receivable are past due, the Company's previous loss history and the customer's current ability to pay its obligation. &#160;Accounts receivable balances are charged off against the allowance when it is determined that the receivable will not be recovered.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Cash and Cash Equivalents and Certificates of Deposit-</b>The Company considers all highly liquid investments, including U.S. Treasury bills and certificates of deposit, with a maturity of three months or less when purchased to be cash equivalents. &#160;Certificates of deposit with an original maturity of greater than three months are separately presented at cost which approximates market value. &#160;The Company maintains cash on deposit in several financial institutions. At times, the account balances may be in excess of Federal Deposit Insurance Corporation insured limits.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Fair Value of Financial Instruments-</b>The carrying amounts reported in the consolidated balance sheets for cash and cash equivalents, certificates of deposit, accounts receivable and accounts payable approximate fair value based on their short-term nature.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Inventories-</b>Inventories are stated at the lower of cost or net realizable value, cost being determined by the first-in, first-out method. &#160;The value of inventories is reduced for estimated excess and obsolete inventories based on a review of on-hand inventories compared to historical and estimated future sales and usage.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Property, Plant and Equipment-</b>Properties are stated at cost and are depreciated over their estimated useful lives using the straight-line method for financial reporting purposes. &#160;Accelerated methods of depreciation are used for income tax purposes. &#160;Direct costs related to developing or obtaining software for internal use are capitalized as property and equipment. &#160;Capitalized software costs are amortized over the software&#8217;s useful life when the software is placed in service. &#160;The estimated useful lives by asset category are:</p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse;width:277pt">
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><i>Asset Category</i></span></p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><i>Estimated Useful Life</i></span></p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Land improvements&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">15 to 40 years</p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Buildings and improvements&#8230;&#8230;</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">10 to 40 years</p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Machinery and equipment&#8230;&#8230;&#8230;</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">5 to 18 years</p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Capitalized software costs&#8230;&#8230;&#8230;</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">3 to 5 years</p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Other equipment&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">3 to 10 years</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company reviews the carrying value of property, plant and equipment for impairment whenever events and circumstances indicate that the carrying value of an asset may not be recoverable from the estimated future cash flows expected to result from its use and eventual disposition. &#160;In cases where undiscounted expected future cash flows are less than the carrying value, an impairment loss is recognized equal to an amount by which the carrying value exceeds the fair value of assets. &#160;There were no triggering events requiring assessment of impairment as of December 31, 2022 and 2021.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">When properties are retired or sold, the related cost and accumulated depreciation are removed from the respective accounts, and any gain or loss on disposition is recognized in current operations. &#160;Maintenance, repairs and minor betterments that do not improve the related asset or extend its useful life are charged to operations as incurred. </p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Income Taxes&#8212;</b>Deferred income taxes are determined under the asset and liability method. &#160;Deferred income taxes arise from temporary differences between the income tax basis of assets and liabilities and their reported amounts in the financial statements. &#160;Deferred taxes are shown on the balance sheet as a net long-term asset or liability.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company applies a comprehensive model for the financial statement recognition, measurement, classification and disclosure of uncertain tax positions.&#160; In the first step of the two-step process, the Company evaluates the tax position for recognition by determining if the weight of available evidence indicates that it is more likely than not that the position will be sustained on audit, including resolution of related appeals or litigation processes, if any.&#160; In the second step, the Company measures the tax benefit as the largest amount that is more than 50% likely of being realized upon settlement.&#160; As of December 31, 2022 and 2021, the Company determined that there are no uncertain tax positions with a more than 50% likelihood of being realized upon settlement.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company classifies interest and penalties related to unrecognized tax benefits as a component of income tax expense. &#160;There were no such expenses in 2022 or 2021.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company&#8217;s federal income tax returns for the 2019 through 2021 tax years are subject to examination by the Internal Revenue Service (&#8220;IRS&#8221;). &#160;While it may be possible that a reduction could occur with respect to the Company&#8217;s unrecognized tax benefits as an outcome of an IRS examination, management does not anticipate any adjustments that would result in a material change to the results of operations or financial condition of the Company.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">No statutes have been extended on any of the Company&#8217;s federal income tax filings. The statute of limitations on the Company&#8217;s 2019, 2020 and 2021 federal income tax returns will expire on September 15, 2023, 2024 and 2025, respectively.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company&#8217;s state income tax returns for the 2019 through 2021 tax years are subject to examination by various state authorities with the latest closing period on October 31, 2025. &#160;The Company is currently not under examination by any state authority for income tax purposes and no statutes for state income tax filings have been extended.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Segment Information-</b>The Company reports segment information based on the internal structure and reporting of the Company&#8217;s operations.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Net Income Per Share-</b> Net income per share of common stock is based on the weighted average number of shares outstanding of 966,132 in 2022 and 2021.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0"><span style="font-family:Arial"><b>Use of Estimates-</b>The preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and the accompanying notes. &#160;Significant items subject to estimates and assumptions include depreciable lives, deferred taxes and valuation allowances for accounts receivable and inventory obsolescence. &#160;Actual results could differ from those estimates.</span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Recent Accounting Pronouncements-</b> In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments&#160;- Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments and in November 2018 issued an amendment, ASU 2018-19, Codification Improvements to Topic 326, Financial Instruments &#8211;&#160;Credit Losses. &#160;ASU 2016-13 amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments, including trade receivables. This may result in the earlier recognition of allowances for losses. ASU 2016-13 and ASU 2018-19 should be applied on either a prospective transition or modified-retrospective approach depending on the subtopic. &#160;ASU 2016-13 is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years, with early adoption permitted. The Company adopted this ASU on January 1, 2023. &#160;The impact of the adoption on our consolidated financial statements was not material.</p> <p style="font:10pt Arial;margin:0;text-align:justify">&#160;</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_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 basis of presentation and significant accounting policies concepts. 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). Accounting policies describe 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI https://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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>19
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468860727648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>2 - Balance Sheet Details<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes</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_SupplementalBalanceSheetDisclosuresTextBlock', window );">2 - Balance Sheet Details</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>2 - Balance Sheet Details</b></p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"/>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2022</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2021</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Inventories:</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Raw materials</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;4,460,071</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;4,645,923</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Work in process</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>2,747,427</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">2,181,457</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Finished goods</p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>2,534,732</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">2,304,400</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>9,742,230</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">9,131,780</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Valuation reserves</p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(621,000)</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(612,000)</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"/>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;9,121,230</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;8,519,780</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"/>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2022</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2021</p> </td></tr>
<tr style="height:13.95pt">
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Property, Plant and Equipment, net:</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Land and improvements</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;1,510,513</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;1,778,819</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Buildings and improvements</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>6,818,066</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">8,456,983</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Machinery and equipment</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>35,982,194</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">35,618,735</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Capitalized software and other</p> </td>
<td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>1,038,768</b></p> </td>
<td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">1,060,379</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:13pt Arial Narrow;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>45,349,541</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">46,914,916</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Accumulated depreciation</p> </td>
<td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(33,487,748)</b></p> </td>
<td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(34,441,052)</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"/>
<td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;11,861,793</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;12,473,864</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"/>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2022</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2021</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Other Accrued Expenses:</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Profit sharing plan contribution</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;170,000</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;145,000</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Property taxes</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>41,497</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">80,269</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">All other items </p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>116,464</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">141,149</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"/>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;327,961</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;366,418</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2022</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2021</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Allowance for Doubtful Accounts:</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Balance at beginning of year</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ 170,000</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ 170,000</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Charges to statement of income</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(1,660)</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">0</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Write-offs, net of recoveries</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(8,340)</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">0</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Balance at end of year</p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;160,000</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ 170,000</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2022</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2021</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Inventory Valuation Reserves:</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Balance at beginning of year</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160; 612,000</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160; 600,000</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Charges to statement of income</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>17,070</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">41,308</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Write-offs</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(8,070)</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(29,308)</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Balance at end of year</p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160; 621,000</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160;612,000</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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_SupplementalBalanceSheetDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and 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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -URI https://asc.fasb.org/topic&amp;trid=2122208<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalBalanceSheetDisclosuresTextBlock</td>
</tr>
<tr>
<td style="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>20
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468775658896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>3 - Income Taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes</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_IncomeTaxDisclosureTextBlock', window );">3 - Income Taxes</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0"><span style="font-family:Arial"><b>3</b><b> - </b><b>Income Taxes&#8212;</b>The provision for income tax expense consists of the following</span><span style="font-family:Arial;color:#833C0B">:</span></p> <p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:151.9pt" valign="bottom"/>
<td style="background-color:#CEE7FF;width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>20</b><b>22</b></span></p> </td>
<td style="background-color:#CEE7FF;width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2021</span></p> </td></tr>
<tr>
<td style="width:151.9pt" valign="bottom"><p style="font:10pt Arial;margin:0">Current:</p> </td>
<td style="width:72pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:72pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:151.9pt" valign="bottom"><p style="font:10pt Arial;margin:0">Federal</p> </td>
<td style="background-color:#CEE7FF;width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;723,000</b></p> </td>
<td style="background-color:#CEE7FF;width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;378,000</p> </td></tr>
<tr>
<td style="width:151.9pt" valign="bottom"><p style="font:10pt Arial;margin:0">State</p> </td>
<td style="width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>40,000</b></p> </td>
<td style="width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">8,000</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:151.9pt" valign="bottom"><p style="font:10pt Arial;margin:0">Deferred</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>22,000</b></p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(85,000)</p> </td></tr>
<tr style="height:7.2pt">
<td style="width:151.9pt" valign="top"/>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;785,000</b></p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160; 301,000</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The following is a reconciliation of the statutory federal income tax rate to the actual effective tax rate:</p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td colspan="3" style="background-color:#CEE7FF;width:118.35pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>2022</b></p> </td>
<td style="background-color:#CEE7FF;width:11.1pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td colspan="3" style="background-color:#CEE7FF;width:120.05pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">2021</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>Amount</b></p> </td>
<td style="width:11.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>%</b></p> </td>
<td style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">Amount</p> </td>
<td style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">%</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Expected tax at U.S. statutory rate</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;color:#000000;text-align:right"><b>$ &#160;&#160;&#160;&#160;767,000</b></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:34.55pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>21.0</b></p> </td>
<td style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160; 297,000</p> </td>
<td style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:36.95pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">21.0</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Permanent differences</p> </td>
<td style="width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(14,000)</b></p> </td>
<td style="width:11.8pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:34.55pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(0.4)</b></p> </td>
<td style="width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(2,000)</p> </td>
<td style="width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:36.95pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(0.1)</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">State taxes, net of federal benefit</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>32,000</b></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:34.55pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>0.9</b></p> </td>
<td style="background-color:#CEE7FF;width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">6,000</p> </td>
<td style="background-color:#CEE7FF;width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:36.95pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">0.4</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Income tax expense</p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;785,000</b></p> </td>
<td style="width:11.8pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>21.5</b></p> </td>
<td style="width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160; 301,000</p> </td>
<td style="width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">21.3</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:12pt Arial Narrow;margin:0;color:#339966"><span style="font-family:Arial;color:#000000">The deferred tax assets (liabilities) consist of the following:</span></p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr style="height:18pt">
<td style="background-color:#CEE7FF" valign="bottom"/>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>20</b><b>22</b></span></p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2021</span></p> </td></tr>
<tr>
<td valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF" valign="top"><p style="font:10pt Arial;margin:0">Depreciation and amortization</p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;(1,216,451)&#160;&#160;</b></p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;(1,196,119)&#160;&#160;</p> </td></tr>
<tr>
<td valign="top"><p style="font:10pt Arial;margin:0">Inventory</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>157,687&#160;&#160;&#160;</b></p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">157,600&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF" valign="top"><p style="font:10pt Arial;margin:0">Accrued vacation</p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>71,923&#160;&#160;&#160;</b></p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">74,037&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="top"><p style="font:10pt Arial;margin:0">Allowance for doubtful accounts</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>38,250&#160;&#160;&#160;</b></p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">38,250&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF" valign="top"><p style="font:10pt Arial;margin:0">Other, net</p> </td>
<td style="background-color:#CEE7FF;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>507&#160;&#160;&#160;</b></p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">148&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="top"/>
<td style="border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;(948,084)&#160;&#160;</b></p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;(926,084)&#160;&#160;</p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">Valuation allowances related to deferred taxes are recorded based on the &#8220;more likely than not&#8221; realization criteria. &#160;The Company reviews the need for a valuation allowance on a quarterly basis for each of its tax jurisdictions. &#160;A deferred tax valuation allowance was not required at December 31, 2022 or 2021.</p> <p style="font:10pt Arial;margin:0">&#160;</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32857-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330215-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32705-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 270<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6424409&amp;loc=d3e44925-109338<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI https://asc.fasb.org/topic&amp;trid=2144680<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468775900640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>4 - Profit Sharing Plan<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes</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_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock', window );">4 - Profit Sharing Plan</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>4 - Profit Sharing Plan- </b>The Company has a noncontributory profit sharing plan covering substantially all employees. &#160;Total expenses relating to the profit sharing plan amounted to $170,000 in 2022 and $145,000 in 2021.</p> <p style="font:10pt Arial;margin:0">&#160;</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_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of an entity's employee compensation and benefit plans, excluding share-based compensation and including, but not limited to, postemployment and postretirement benefit plans, defined benefit pension plans, defined contribution plans, non-qualified and supplemental benefit plans, deferred compensation, life insurance, severance, health care, unemployment and other benefit plans.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 712<br> -URI https://asc.fasb.org/topic&amp;trid=2197446<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -URI https://asc.fasb.org/topic&amp;trid=2235017<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 710<br> -URI https://asc.fasb.org/topic&amp;trid=2127225<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock</td>
</tr>
<tr>
<td style="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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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>22
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468775794480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>5 - Other Income<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes</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_InterestAndOtherIncomeTextBlock', window );">5 - Other Income</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>5 - Other Income- </b>consists of the following:</p> <p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:159.15pt" valign="bottom"/>
<td style="background-color:#CEE7FF;width:63.65pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>20</b><b>22</b></span></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:68.55pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2021</span></p> </td></tr>
<tr style="height:14.4pt">
<td style="width:159.15pt" valign="bottom"><p style="font:10pt Arial;margin:0">Interest income</p> </td>
<td style="width:63.65pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;55,333&#160;&#160;&#160;</b></p> </td>
<td style="width:11.8pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:68.55pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160; 19,797&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:159.15pt" valign="bottom"><p style="font:10pt Arial;margin:0">Other</p> </td>
<td style="background-color:#CEE7FF;width:63.65pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>36,100&#160;&#160;&#160;</b></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:68.55pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">35,760&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:159.15pt" valign="bottom"/>
<td style="width:63.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;91,433&#160;&#160;&#160;</b></p> </td>
<td style="width:11.8pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:68.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;55,557&#160;&#160;&#160;</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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_InterestAndOtherIncomeTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest and other income.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 610<br> -URI https://asc.fasb.org/topic&amp;trid=49130413<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestAndOtherIncomeTextBlock</td>
</tr>
<tr>
<td style="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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140468775651040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>6 - Segment Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes</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 );">6 - Segment Information</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>6 - Segment Information- </b>The Company operates in the United States in two business segments as determined by its products. &#160;The fastener segment, which comprises H &amp; L Tool and the parent company&#8217;s fastener operations, includes rivets, cold-formed fasteners and parts and screw machine products. &#160;The assembly equipment segment includes automatic rivet setting machines and parts and tools for such machines. &#160;Information by segment is as follows:</p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse;margin-left:-3.6pt">
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"/>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Fastener</span></p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Assembly Equipment</span></p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Other</span></p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Consolidated</span></p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"><b>Year Ended December 31, 2022:</b></p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0;color:#E36C0A"><span style="color:#000000">Net Sales&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</span></p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;30,291,547</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;3,354,486</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;33,646,033</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Depreciation&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,129,151</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">133,615</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">17,104</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,279,870</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment operating profit&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">505,751</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">413,995</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right">0 </p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">919,746</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Selling and administrative expenses&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(2,096,944)</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(2,096,944)</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Gain on sale of property&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,738,394</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,738,394</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Other income&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">91,433</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">91,433</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Income before income taxes&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">3,652,629</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Capital expenditures&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">868,654</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">3,207</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">98,082</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">969,943</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment assets:</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Accounts receivable, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,683,620</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">291,517</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,975,137</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Inventories, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">7,766,703</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,354,527</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">9,121,230</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Property, plant and equipment, net&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">9,562,329</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,303,497</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">995,967</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">11,861,793</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Other assets&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">7,667,967</p> </td>
<td style="width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">7,667,967</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">33,626,127</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Year Ended December 31, 2021:</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0;color:#E36C0A"><span style="color:#000000">Net Sales&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</span></p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;29,831,388</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;4,143,170</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;33,974,558</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Depreciation&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,161,596</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">134,957</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">22,001</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,318,554</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment operating profit&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">2,384,486</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">997,048</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right">0 </p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">3,381,534</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Selling and administrative expenses&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(2,022,619)</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(2,022,619)</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Other income&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">55,557</p> </td>
<td style="width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">55,557</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Income before income taxes&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,414,472</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Capital expenditures&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">493,564</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">177,334</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">670,898</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment assets:</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Accounts receivable, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,302,257</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">345,727</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,647,984</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Inventories, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">7,214,050</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,305,730</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">8,519,780</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Property, plant and equipment, net&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">9,782,324</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,433,905</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,257,635</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">12,473,864</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Other assets&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,124,630</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,124,630</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">31,766,258</p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company does not allocate certain selling and administrative expenses for internal reporting, thus, no allocation was made for these expenses for segment disclosure purposes. &#160;Segment assets reported internally are limited to accounts receivable, inventory and long-lived assets. &#160;Certain long-lived assets of one plant location are allocated between the two segments based on estimated plant utilization, as this plant serves both fastener and assembly equipment activities. &#160;Other assets are not allocated to segments internally and to do so would be impracticable.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The following table presents revenue by segment, further disaggregated by end-market:</p> <p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;Fastener &#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;Assembly Equipment &#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;Consolidated &#160;</p> </td></tr>
<tr>
<td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial"><b>Year Ended December 31, </b><b>2022</b><b>:</b></span></p> </td>
<td style="width:63pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Automotive</span></p> </td>
<td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;18,454,238</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;209,735</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;18,663,973</p> </td></tr>
<tr>
<td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Non-automotive</span></p> </td>
<td style="width:63pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">11,837,309</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">3,144,751</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">14,982,060</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Total net sales</span></p> </td>
<td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;30,291,547</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;3,354,486</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;33,646,033</p> </td></tr>
<tr>
<td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0">&#160;</p> </td>
<td style="width:63pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Year Ended December 31, 2021:</span></p> </td>
<td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Automotive</span></p> </td>
<td style="width:63pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;17,573,104</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;157,652</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;17,730,756</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Non-automotive</span></p> </td>
<td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"> 12,258,284</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"> 3,985,518</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"> 16,243,802</p> </td></tr>
<tr>
<td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Total net sales</span></p> </td>
<td style="width:63pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;29,831,388</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;4,143,170</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;33,974,558</p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The following table presents revenue by segment, further disaggregated by location:</p> <p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;Fastener &#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;Assembly Equipment &#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;Consolidated &#160;</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial"><b>Year Ended December 31, 20</b><b>22</b><b>:</b></span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">United States</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;24,955,181</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;3,202,729</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;28,157,910</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Foreign</span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">5,336,366</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">151,757</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">5,488,123</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Total net sales</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;30,291,547</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;3,354,486</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;33,646,033</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0">&#160;</p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Year Ended December 31, 2021:</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">United States</span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;24,280,114</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;4,053,102</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;28,333,216</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Foreign</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">5,551,274</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">90,068</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">5,641,342</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Total net sales</span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;29,831,388</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;4,143,170</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;33,974,558</p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">Sales to one customer in the fastener segment accounted for 15% of consolidated revenues during 2022 and 13% in 2021. &#160;The accounts receivable balance for this customer accounted for 19% and 16% of consolidated accounts receivable as of December 31, 2022 and 2021, respectively. &#160;Sales to a second customer in the fastener segment accounted for 14% of consolidated revenues during 2022 and 11% in 2021. &#160;The accounts receivable balance for this customer accounted for 16% and 11% of consolidated accounts receivable as of December 31, 2022 and 2021, respectively. &#160;Sales to a third customer were 12% of consolidated revenue in 2021. The accounts receivable balance for this customer accounted for 18% of consolidated accounts receivable as of December 31, 2021.</p> <p style="font:10pt Arial;margin:0">&#160;</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 34<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8981-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8721-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 26<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8844-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8657-108599<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8721-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -URI https://asc.fasb.org/topic&amp;trid=2134510<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>24
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468864392512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>7 - Additional Financial Information Disclosure<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes</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_AdditionalFinancialInformationDisclosureTextBlock', window );">7 - Additional Financial Information Disclosure</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>7 - Gain on Sale of Property - </b> On August 12, 2022, the Company entered into a Purchase and Sale Agreement (the &#8220;PSA&#8221;) with Frontenac Properties LLC (the &#8220;Purchaser&#8221;) pursuant to which the Company agreed, subject to the terms and conditions of the PSA, to sell its facility in Naperville, Illinois, in which the Company&#8217;s headquarters and warehouse space are located, to the Purchaser. &#160;On September 27, 2022, the Company&#8217;s sale of the facility to the Purchaser was completed for a selling price of $5,350,000 in cash, less customary closing costs. The net gain on the transaction was $4,738,394. &#160;A portion of the net proceeds was invested in U.S. Treasury bills and is included in cash and cash equivalents as of December 31, 2022.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">Concurrently with the completion of the sale of the Naperville facility, the Company and the Purchaser entered into a lease agreement pursuant to which the Company leased the warehouse portion of the Naperville facility from the Purchaser until December 31, 2022 and the office portion until June 30, 2023. &#160;The monthly rent payable by the Company under the lease was $12,500 for the period from the closing until December 31, 2022 and will be $8,500 for the period from January 1, 2023 to June 30, 2023. &#160;The Company adopted the practical expedient for short-term leases under ASC 842 which allows for leases of 12 months or less to be expensed on a straight-line basis over the lease term without reporting on the balance sheet.</p> <p style="font:10pt Arial;margin:0">&#160;</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_AdditionalFinancialInformationDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 disclosures of supplemental information, including descriptions and amounts, related to the balance sheet, income statement, and/or cash flow statement.</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_AdditionalFinancialInformationDisclosureTextBlock</td>
</tr>
<tr>
<td style="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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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>25
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468774735920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>8 - Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes</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_CommitmentsAndContingenciesDisclosureTextBlock', window );">8 - Commitments and Contingencies</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>8 - Commitments and Contingencies- </b>The Company recorded rent expense aggregating approximately $91,000 and $27,000 in 2022 and 2021, respectively. &#160;Total future minimum rentals at December 31, 2022 were $51,000.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company is, from time to time involved in litigation, including environmental claims, in the normal course of business. &#160;While it is not possible at this time to establish the ultimate amount of liability with respect to contingent liabilities, including those related to legal proceedings, management is of the opinion that the aggregate amount of any such liabilities, for which provision has not been made, will not have a material adverse effect on the Company's financial position.</p> <p style="font:10pt Arial;margin:0">&#160;</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_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 commitments and contingencies.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI https://asc.fasb.org/topic&amp;trid=2144648<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 440<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6491277&amp;loc=d3e6429-115629<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI https://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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>26
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468775727392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>9 - COVID-19<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes</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_UnusualOrInfrequentItemsDisclosureTextBlock', window );">9 - COVID-19</a></td>
<td class="text"><p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <p style="font:10pt Courier New;margin:0"><span style="font-family:Arial"><b>9 - COVID-19</b><b>-</b><b> </b>In March 2020, the World Health Organization characterized the novel coronavirus (&#8220;COVID-19&#8221;) a pandemic and the President of the United States declared the COVID-19 outbreak a national emergency. &#160;The rapid spread of the virus and the response domestically and internationally to combat it had a significant negative impact on the global economy, including the automotive industry upon which we rely for sales. &#160;Beginning in March 2020, most states issued executive orders which temporarily closed businesses deemed non-essential in an effort to prevent the spread of the coronavirus. &#160;Similar measures also took place in foreign markets we serve. &#160;As a result, our operations and the operations of our customers and suppliers were adversely affected. &#160;While most shutdown orders were lifted later that year, various work-related restrictions remained in place for some time resulting in widespread economic disruption. &#160;As of the beginning of 2022, our operations had not returned to pre-pandemic levels and the pandemic continues to disrupt and have unpredictable impacts on our operations and the markets we serve, most notably in terms of labor shortages, supply chain disruptions and high inflation. &#160;These factors make the timing and sustainability of any broad economic recovery uncertain and will likely remain tied to the course of the pandemic. &#160;As we cannot predict the duration or scope of the COVID-19 pandemic, or its broader impact on the global economy, including the demand for automobiles, it is unknown what the impact of COVID-19 and its related effects will be on our business, results of operations or financial condition, but the impact could be material and last for an extended period of time.</span></p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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_UnusualOrInfrequentItemsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 an event or transaction that is unusual in nature or infrequent in occurrence, or both.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 20<br> -URI https://asc.fasb.org/subtopic&amp;trid=114868817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140468775794480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>10 - Subsequent Events<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes</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_ScheduleOfSubsequentEventsTextBlock', window );">10 - Subsequent Events</a></td>
<td class="text"><p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000"><b>10 - Subsequent Events- </b>On February 20, 2023, the Board of Directors declared a regular quarterly dividend of $0.22 per share, or $212,549, payable March 20, 2023 to shareholders of record on March 3, 2023.</p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfSubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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, losses resulting from fire or flood, losses on receivables, significant realized and unrealized gains and losses that result from changes in quoted market prices of securities, declines in market prices of inventory, changes in authorized or issued debt (SEC), significant foreign exchange rate changes, substantial loans to insiders or affiliates, significant long-term investments, and substantial dividends 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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6842918&amp;loc=SL6314017-165662<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140468772993552">
<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">12 Months Ended</th>
</tr>
<tr><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_PolicyTextBlockAbstract', window );"><strong>Policies</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_ConsolidationPolicyTextBlock', window );">Principles of Consolidation</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Principles of Consolidation-</b>The consolidated financial statements include the accounts of Chicago Rivet &amp; Machine Co. and its wholly-owned subsidiary, H &amp; L Tool Company, Inc. (&#8220;H &amp; L Tool&#8221;). &#160;All significant intercompany accounts and transactions have been eliminated.</p> <p style="font:10pt Arial;margin:0">&#160;</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_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure', window );">Revenue Recognition</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Revenue Recognition-</b> Revenue is recognized when control of the promised goods or services is transferred to our customers, generally upon shipment of goods or completion of services, in an amount that reflects the consideration we expect to receive in exchange for those goods or services. &#160;Sales taxes we may collect concurrent with revenue producing activities are excluded from revenue. &#160;Revenue is recognized net of certain sales adjustments to arrive at net sales as reported on the statement of income. &#160;These adjustments primarily relate to customer returns and allowances, which vary over time. &#160;The Company records a liability and reduction in sales for estimated product returns based upon historical experience. &#160;If we determine that our obligation under warranty claims is probable and subject to reasonable determination, an estimate of that liability is recorded as an offset against revenue at that time. &#160;As of December 31, 2022 and 2021, reserves for warranty claims were not material. &#160;Cash received by the Company prior to shipment is recorded as unearned revenue. &#160;In 2022 and 2021 the Company recognized revenue from such payments of $302,357 and $248,799, respectively, that was included in the unearned revenue balance at the beginning of the period. &#160;Shipping and handling fees billed to customers are recognized in net sales, and related costs as cost of sales, when incurred.</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 );">Credit Risk</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Credit Risk-</b>The Company extends credit on the basis of terms that are customary within our markets to various companies doing business primarily in the automotive industry. &#160;The Company has a concentration of credit risk primarily within the automotive industry and in the Midwestern United States. &#160;The Company has established an allowance for accounts that may become uncollectible in the future. &#160;This estimated allowance is based primarily on management's evaluation of the financial condition of the customer and historical experience. &#160;The Company monitors its accounts receivable and charges to expense an amount equal to its estimate of potential credit losses. &#160;The Company considers a number of factors in determining its estimates, including the length of time its trade accounts receivable are past due, the Company's previous loss history and the customer's current ability to pay its obligation. &#160;Accounts receivable balances are charged off against the allowance when it is determined that the receivable will not be recovered.</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_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and Cash Equivalents and Certificates of Deposit</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Cash and Cash Equivalents and Certificates of Deposit-</b>The Company considers all highly liquid investments, including U.S. Treasury bills and certificates of deposit, with a maturity of three months or less when purchased to be cash equivalents. &#160;Certificates of deposit with an original maturity of greater than three months are separately presented at cost which approximates market value. &#160;The Company maintains cash on deposit in several financial institutions. At times, the account balances may be in excess of Federal Deposit Insurance Corporation insured limits.</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_FairValueOfFinancialInstrumentsPolicy', window );">Fair Value of Financial Instruments</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Fair Value of Financial Instruments-</b>The carrying amounts reported in the consolidated balance sheets for cash and cash equivalents, certificates of deposit, accounts receivable and accounts payable approximate fair value based on their short-term nature.</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_InventoryPolicyTextBlock', window );">Inventories</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Inventories-</b>Inventories are stated at the lower of cost or net realizable value, cost being determined by the first-in, first-out method. &#160;The value of inventories is reduced for estimated excess and obsolete inventories based on a review of on-hand inventories compared to historical and estimated future sales and usage.</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, Plant and Equipment</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Property, Plant and Equipment-</b>Properties are stated at cost and are depreciated over their estimated useful lives using the straight-line method for financial reporting purposes. &#160;Accelerated methods of depreciation are used for income tax purposes. &#160;Direct costs related to developing or obtaining software for internal use are capitalized as property and equipment. &#160;Capitalized software costs are amortized over the software&#8217;s useful life when the software is placed in service. &#160;The estimated useful lives by asset category are:</p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse;width:277pt">
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><i>Asset Category</i></span></p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><i>Estimated Useful Life</i></span></p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Land improvements&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">15 to 40 years</p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Buildings and improvements&#8230;&#8230;</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">10 to 40 years</p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Machinery and equipment&#8230;&#8230;&#8230;</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">5 to 18 years</p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Capitalized software costs&#8230;&#8230;&#8230;</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">3 to 5 years</p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Other equipment&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">3 to 10 years</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company reviews the carrying value of property, plant and equipment for impairment whenever events and circumstances indicate that the carrying value of an asset may not be recoverable from the estimated future cash flows expected to result from its use and eventual disposition. &#160;In cases where undiscounted expected future cash flows are less than the carrying value, an impairment loss is recognized equal to an amount by which the carrying value exceeds the fair value of assets. &#160;There were no triggering events requiring assessment of impairment as of December 31, 2022 and 2021.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">When properties are retired or sold, the related cost and accumulated depreciation are removed from the respective accounts, and any gain or loss on disposition is recognized in current operations. &#160;Maintenance, repairs and minor betterments that do not improve the related asset or extend its useful life are charged to operations as incurred. </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 style="font:10pt Arial;margin:0"><b>Income Taxes&#8212;</b>Deferred income taxes are determined under the asset and liability method. &#160;Deferred income taxes arise from temporary differences between the income tax basis of assets and liabilities and their reported amounts in the financial statements. &#160;Deferred taxes are shown on the balance sheet as a net long-term asset or liability.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company applies a comprehensive model for the financial statement recognition, measurement, classification and disclosure of uncertain tax positions.&#160; In the first step of the two-step process, the Company evaluates the tax position for recognition by determining if the weight of available evidence indicates that it is more likely than not that the position will be sustained on audit, including resolution of related appeals or litigation processes, if any.&#160; In the second step, the Company measures the tax benefit as the largest amount that is more than 50% likely of being realized upon settlement.&#160; As of December 31, 2022 and 2021, the Company determined that there are no uncertain tax positions with a more than 50% likelihood of being realized upon settlement.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company classifies interest and penalties related to unrecognized tax benefits as a component of income tax expense. &#160;There were no such expenses in 2022 or 2021.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company&#8217;s federal income tax returns for the 2019 through 2021 tax years are subject to examination by the Internal Revenue Service (&#8220;IRS&#8221;). &#160;While it may be possible that a reduction could occur with respect to the Company&#8217;s unrecognized tax benefits as an outcome of an IRS examination, management does not anticipate any adjustments that would result in a material change to the results of operations or financial condition of the Company.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">No statutes have been extended on any of the Company&#8217;s federal income tax filings. The statute of limitations on the Company&#8217;s 2019, 2020 and 2021 federal income tax returns will expire on September 15, 2023, 2024 and 2025, respectively.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company&#8217;s state income tax returns for the 2019 through 2021 tax years are subject to examination by various state authorities with the latest closing period on October 31, 2025. &#160;The Company is currently not under examination by any state authority for income tax purposes and no statutes for state income tax filings have been extended.</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_SegmentReportingPolicyPolicyTextBlock', window );">Segment Information</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Segment Information-</b>The Company reports segment information based on the internal structure and reporting of the Company&#8217;s operations.</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 );">Net Income Per Share</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Net Income Per Share-</b> Net income per share of common stock is based on the weighted average number of shares outstanding of 966,132 in 2022 and 2021.</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 style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0"><span style="font-family:Arial"><b>Use of Estimates-</b>The preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and the accompanying notes. &#160;Significant items subject to estimates and assumptions include depreciable lives, deferred taxes and valuation allowances for accounts receivable and inventory obsolescence. &#160;Actual results could differ from those estimates.</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_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent Accounting Pronouncements</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Recent Accounting Pronouncements-</b> In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments&#160;- Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments and in November 2018 issued an amendment, ASU 2018-19, Codification Improvements to Topic 326, Financial Instruments &#8211;&#160;Credit Losses. &#160;ASU 2016-13 amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments, including trade receivables. This may result in the earlier recognition of allowances for losses. ASU 2016-13 and ASU 2018-19 should be applied on either a prospective transition or modified-retrospective approach depending on the subtopic. &#160;ASU 2016-13 is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years, with early adoption permitted. The Company adopted this ASU on January 1, 2023. &#160;The impact of the adoption on our consolidated financial statements was not material.</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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4273-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941378&amp;loc=d3e61044-112788<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18823-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=d3e5614-111684<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 60<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=7493716&amp;loc=d3e21868-110260<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13279-108611<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e32247-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32847-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32840-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL116659661-227067<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e32280-109318<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4556-108314<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI https://asc.fasb.org/topic&amp;trid=2126998<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 330<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6471895&amp;loc=d3e55923-109411<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4492-108314<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126900757&amp;loc=d3e543-108305<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18823-107790<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="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_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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_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://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99779-112916<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99893-112916<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 revenue from a transaction on a gross or net basis.</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_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure</td>
</tr>
<tr>
<td style="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_SegmentReportingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 segment reporting.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8864-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8864-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8864-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8864-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8864-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8864-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="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://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6191-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6161-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6143-108592<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6061-108592<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6132-108592<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>29
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468775658896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>2 - Balance Sheet Details: Inventory (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</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 );">Inventory</a></td>
<td class="text"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"/>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2022</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2021</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Inventories:</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Raw materials</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;4,460,071</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;4,645,923</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Work in process</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>2,747,427</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">2,181,457</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Finished goods</p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>2,534,732</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">2,304,400</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>9,742,230</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">9,131,780</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Valuation reserves</p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(621,000)</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(612,000)</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"/>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;9,121,230</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;8,519,780</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-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>30
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468774735920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>2 - Balance Sheet Details: Property, Plant and Equipment (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</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 );">Property, Plant and Equipment</a></td>
<td class="text"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"/>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2022</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2021</p> </td></tr>
<tr style="height:13.95pt">
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Property, Plant and Equipment, net:</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Land and improvements</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;1,510,513</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;1,778,819</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Buildings and improvements</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>6,818,066</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">8,456,983</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Machinery and equipment</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>35,982,194</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">35,618,735</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Capitalized software and other</p> </td>
<td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>1,038,768</b></p> </td>
<td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">1,060,379</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:13pt Arial Narrow;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>45,349,541</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">46,914,916</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Accumulated depreciation</p> </td>
<td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(33,487,748)</b></p> </td>
<td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(34,441,052)</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"/>
<td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;11,861,793</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;12,473,864</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140468775658896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>2 - Balance Sheet Details: Other Accrued Expenses (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</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_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Other Accrued Expenses</a></td>
<td class="text"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"/>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2022</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2021</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Other Accrued Expenses:</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Profit sharing plan contribution</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;170,000</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;145,000</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Property taxes</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>41,497</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">80,269</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">All other items </p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>116,464</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">141,149</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"/>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;327,961</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;366,418</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</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_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 components of accrued 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_ScheduleOfAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-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>32
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468775651040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>2 - Balance Sheet Details: Schedule of Valuation and Qualifying Accounts (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</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_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock', window );">Schedule of Valuation and Qualifying Accounts</a></td>
<td class="text"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2022</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2021</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Allowance for Doubtful Accounts:</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Balance at beginning of year</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ 170,000</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ 170,000</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Charges to statement of income</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(1,660)</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">0</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Write-offs, net of recoveries</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(8,340)</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">0</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Balance at end of year</p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;160,000</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ 170,000</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2022</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2021</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Inventory Valuation Reserves:</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Balance at beginning of year</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160; 612,000</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160; 600,000</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Charges to statement of income</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>17,070</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">41,308</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Write-offs</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(8,070)</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(29,308)</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Balance at end of year</p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160; 621,000</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160;612,000</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation and qualifying accounts and reserves.</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> -Publisher SEC<br> -Name Regulation S-X (SX)<br> -Number 210<br> -Section 12<br> -Subsection 09<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09)<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</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_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-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>33
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468776280704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>3 - Income Taxes: Provision for Income Tax Expense (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</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_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Provision for Income Tax Expense</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:151.9pt" valign="bottom"/>
<td style="background-color:#CEE7FF;width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>20</b><b>22</b></span></p> </td>
<td style="background-color:#CEE7FF;width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2021</span></p> </td></tr>
<tr>
<td style="width:151.9pt" valign="bottom"><p style="font:10pt Arial;margin:0">Current:</p> </td>
<td style="width:72pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:72pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:151.9pt" valign="bottom"><p style="font:10pt Arial;margin:0">Federal</p> </td>
<td style="background-color:#CEE7FF;width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;723,000</b></p> </td>
<td style="background-color:#CEE7FF;width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;378,000</p> </td></tr>
<tr>
<td style="width:151.9pt" valign="bottom"><p style="font:10pt Arial;margin:0">State</p> </td>
<td style="width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>40,000</b></p> </td>
<td style="width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">8,000</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:151.9pt" valign="bottom"><p style="font:10pt Arial;margin:0">Deferred</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>22,000</b></p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(85,000)</p> </td></tr>
<tr style="height:7.2pt">
<td style="width:151.9pt" valign="top"/>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;785,000</b></p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160; 301,000</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</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_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>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.1</span><table class="report" border="0" cellspacing="2" id="idm140468773094544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</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_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of Effective Income Tax Rate Reconciliation</a></td>
<td class="text"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td colspan="3" style="background-color:#CEE7FF;width:118.35pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>2022</b></p> </td>
<td style="background-color:#CEE7FF;width:11.1pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td colspan="3" style="background-color:#CEE7FF;width:120.05pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">2021</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>Amount</b></p> </td>
<td style="width:11.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>%</b></p> </td>
<td style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">Amount</p> </td>
<td style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">%</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Expected tax at U.S. statutory rate</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;color:#000000;text-align:right"><b>$ &#160;&#160;&#160;&#160;767,000</b></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:34.55pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>21.0</b></p> </td>
<td style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160; 297,000</p> </td>
<td style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:36.95pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">21.0</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Permanent differences</p> </td>
<td style="width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(14,000)</b></p> </td>
<td style="width:11.8pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:34.55pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(0.4)</b></p> </td>
<td style="width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(2,000)</p> </td>
<td style="width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:36.95pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(0.1)</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">State taxes, net of federal benefit</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>32,000</b></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:34.55pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>0.9</b></p> </td>
<td style="background-color:#CEE7FF;width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">6,000</p> </td>
<td style="background-color:#CEE7FF;width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:36.95pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">0.4</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Income tax expense</p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;785,000</b></p> </td>
<td style="width:11.8pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>21.5</b></p> </td>
<td style="width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160; 301,000</p> </td>
<td style="width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">21.3</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</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_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-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>35
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468775981168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</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_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Schedule of Deferred Tax Assets and Liabilities</a></td>
<td class="text"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr style="height:18pt">
<td style="background-color:#CEE7FF" valign="bottom"/>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>20</b><b>22</b></span></p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2021</span></p> </td></tr>
<tr>
<td valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF" valign="top"><p style="font:10pt Arial;margin:0">Depreciation and amortization</p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;(1,216,451)&#160;&#160;</b></p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;(1,196,119)&#160;&#160;</p> </td></tr>
<tr>
<td valign="top"><p style="font:10pt Arial;margin:0">Inventory</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>157,687&#160;&#160;&#160;</b></p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">157,600&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF" valign="top"><p style="font:10pt Arial;margin:0">Accrued vacation</p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>71,923&#160;&#160;&#160;</b></p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">74,037&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="top"><p style="font:10pt Arial;margin:0">Allowance for doubtful accounts</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>38,250&#160;&#160;&#160;</b></p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">38,250&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF" valign="top"><p style="font:10pt Arial;margin:0">Other, net</p> </td>
<td style="background-color:#CEE7FF;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>507&#160;&#160;&#160;</b></p> </td>
<td style="background-color:#CEE7FF" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">148&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="top"/>
<td style="border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;(948,084)&#160;&#160;</b></p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;(926,084)&#160;&#160;</p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</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_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140468775900640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>5 - Other Income: Other Income (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</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_InterestAndOtherIncomeTableTextBlock', window );">Other Income</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:159.15pt" valign="bottom"/>
<td style="background-color:#CEE7FF;width:63.65pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>20</b><b>22</b></span></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:68.55pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2021</span></p> </td></tr>
<tr style="height:14.4pt">
<td style="width:159.15pt" valign="bottom"><p style="font:10pt Arial;margin:0">Interest income</p> </td>
<td style="width:63.65pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;55,333&#160;&#160;&#160;</b></p> </td>
<td style="width:11.8pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:68.55pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160; 19,797&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:159.15pt" valign="bottom"><p style="font:10pt Arial;margin:0">Other</p> </td>
<td style="background-color:#CEE7FF;width:63.65pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>36,100&#160;&#160;&#160;</b></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:68.55pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">35,760&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:159.15pt" valign="bottom"/>
<td style="width:63.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;91,433&#160;&#160;&#160;</b></p> </td>
<td style="width:11.8pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:68.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;55,557&#160;&#160;&#160;</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</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_InterestAndOtherIncomeTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest income and income 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_InterestAndOtherIncomeTableTextBlock</td>
</tr>
<tr>
<td style="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_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-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>37
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468775971968">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>6 - Segment Information: Schedule of Segment Reporting Information (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</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_ScheduleOfSegmentReportingInformationBySegmentTextBlock', window );">Schedule of Segment Reporting Information</a></td>
<td class="text"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse;margin-left:-3.6pt">
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"/>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Fastener</span></p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Assembly Equipment</span></p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Other</span></p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Consolidated</span></p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"><b>Year Ended December 31, 2022:</b></p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0;color:#E36C0A"><span style="color:#000000">Net Sales&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</span></p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;30,291,547</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;3,354,486</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;33,646,033</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Depreciation&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,129,151</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">133,615</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">17,104</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,279,870</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment operating profit&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">505,751</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">413,995</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right">0 </p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">919,746</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Selling and administrative expenses&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(2,096,944)</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(2,096,944)</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Gain on sale of property&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,738,394</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,738,394</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Other income&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">91,433</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">91,433</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Income before income taxes&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">3,652,629</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Capital expenditures&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">868,654</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">3,207</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">98,082</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">969,943</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment assets:</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Accounts receivable, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,683,620</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">291,517</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,975,137</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Inventories, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">7,766,703</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,354,527</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">9,121,230</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Property, plant and equipment, net&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">9,562,329</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,303,497</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">995,967</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">11,861,793</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Other assets&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">7,667,967</p> </td>
<td style="width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">7,667,967</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">33,626,127</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Year Ended December 31, 2021:</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0;color:#E36C0A"><span style="color:#000000">Net Sales&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</span></p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;29,831,388</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;4,143,170</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;33,974,558</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Depreciation&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,161,596</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">134,957</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">22,001</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,318,554</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment operating profit&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">2,384,486</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">997,048</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right">0 </p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">3,381,534</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Selling and administrative expenses&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(2,022,619)</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(2,022,619)</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Other income&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">55,557</p> </td>
<td style="width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">55,557</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Income before income taxes&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,414,472</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Capital expenditures&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">493,564</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">177,334</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">670,898</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment assets:</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Accounts receivable, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,302,257</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">345,727</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,647,984</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Inventories, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">7,214,050</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,305,730</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">8,519,780</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Property, plant and equipment, net&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">9,782,324</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,433,905</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,257,635</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">12,473,864</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Other assets&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,124,630</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,124,630</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">31,766,258</p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</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_ScheduleOfSegmentReportingInformationBySegmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8813-108599<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock</td>
</tr>
<tr>
<td style="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_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140468770648288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>6 - Segment Information: Disaggregation of Revenue (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_StatementGeographicalAxis=fil_LocationMember', window );">Location</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_DisaggregationOfRevenueTableTextBlock', window );">Disaggregation of Revenue</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;Fastener &#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;Assembly Equipment &#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;Consolidated &#160;</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial"><b>Year Ended December 31, 20</b><b>22</b><b>:</b></span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">United States</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;24,955,181</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;3,202,729</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;28,157,910</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Foreign</span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">5,336,366</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">151,757</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">5,488,123</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Total net sales</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;30,291,547</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;3,354,486</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;33,646,033</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0">&#160;</p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Year Ended December 31, 2021:</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">United States</span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;24,280,114</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;4,053,102</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;28,333,216</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Foreign</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">5,551,274</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">90,068</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">5,641,342</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Total net sales</span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;29,831,388</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;4,143,170</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;33,974,558</p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</p> <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=fil_EndMarketMember', window );">End Market</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_DisaggregationOfRevenueTableTextBlock', window );">Disaggregation of Revenue</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;Fastener &#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;Assembly Equipment &#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;Consolidated &#160;</p> </td></tr>
<tr>
<td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial"><b>Year Ended December 31, </b><b>2022</b><b>:</b></span></p> </td>
<td style="width:63pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Automotive</span></p> </td>
<td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;18,454,238</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;209,735</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;18,663,973</p> </td></tr>
<tr>
<td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Non-automotive</span></p> </td>
<td style="width:63pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">11,837,309</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">3,144,751</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">14,982,060</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Total net sales</span></p> </td>
<td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;30,291,547</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;3,354,486</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;33,646,033</p> </td></tr>
<tr>
<td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0">&#160;</p> </td>
<td style="width:63pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Year Ended December 31, 2021:</span></p> </td>
<td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Automotive</span></p> </td>
<td style="width:63pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;17,573,104</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;157,652</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;17,730,756</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Non-automotive</span></p> </td>
<td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"> 12,258,284</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"> 3,985,518</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"> 16,243,802</p> </td></tr>
<tr>
<td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Total net sales</span></p> </td>
<td style="width:63pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;29,831,388</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;4,143,170</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;33,974,558</p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</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_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="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_srt_StatementGeographicalAxis=fil_LocationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fil_LocationMember</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=fil_EndMarketMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fil_EndMarketMember</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>39
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468775745104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Deferred Revenue Recognized (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_TextBlockAbstract', window );"><strong>Details</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_ContractWithCustomerLiabilityRevenueRecognized', window );">Deferred Revenue Recognized</a></td>
<td class="nump">$ 302,357<span></span>
</td>
<td class="nump">$ 248,799<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_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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>40
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468767781168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Estimated Useful Lives by Asset Category (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandImprovementsMember', window );">Land Improvements | Minimum</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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">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=us-gaap_LandImprovementsMember', window );">Land Improvements | Maximum</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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">40 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_BuildingImprovementsMember', window );">Building Improvements | Minimum</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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">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_BuildingImprovementsMember', window );">Building Improvements | Maximum</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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">40 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_MachineryAndEquipmentMember', window );">Machinery and Equipment | Minimum</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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and Equipment | Maximum</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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">18 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_SoftwareAndSoftwareDevelopmentCostsMember', window );">Software and Software Development Costs | Minimum</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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</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_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareAndSoftwareDevelopmentCostsMember', window );">Software and Software Development Costs | Maximum</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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember', window );">Other Capitalized Property Plant and Equipment | Minimum</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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</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_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember', window );">Other Capitalized Property Plant and Equipment | Maximum</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_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">10 years<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_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="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_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LandImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BuildingImprovementsMember</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_SoftwareAndSoftwareDevelopmentCostsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SoftwareAndSoftwareDevelopmentCostsMember</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_OtherCapitalizedPropertyPlantAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OtherCapitalizedPropertyPlantAndEquipmentMember</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>41
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468768548048">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Uncertain Tax Positions and Unrecognized Tax Benefits (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 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_TextBlockAbstract', window );"><strong>Details</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_LiabilityForUncertainTaxPositionsCurrent', window );">Liability for Uncertain Tax Positions</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense', window );">Unrecognized Tax Benefits</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilityForUncertainTaxPositionsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 recognized for uncertainty in income taxes classified as current.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilityForUncertainTaxPositionsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32718-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>42
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468773009392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Weighted Avg. Number of Shares Outstanding (Details) - shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_TextBlockAbstract', window );"><strong>Details</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_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic</a></td>
<td class="nump">966,132<span></span>
</td>
<td class="nump">966,132<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_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>43
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468770700896">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>2 - Balance Sheet Details: Inventory (Details) - USD ($)<br></strong></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_TextBlockAbstract', window );"><strong>Details</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_InventoryRawMaterials', window );">Raw materials</a></td>
<td class="nump">$ 4,460,071<span></span>
</td>
<td class="nump">$ 4,645,923<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcess', window );">Work in process</a></td>
<td class="nump">2,747,427<span></span>
</td>
<td class="nump">2,181,457<span></span>
</td>
</tr>
<tr class="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 );">Finished goods</a></td>
<td class="nump">2,534,732<span></span>
</td>
<td class="nump">2,304,400<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryValuationReserves', window );">Valuation reserves</a></td>
<td class="num">(621,000)<span></span>
</td>
<td class="num">(612,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_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">$ 9,121,230<span></span>
</td>
<td class="nump">$ 8,519,780<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterials">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 raw materials 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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterials</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryValuationReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation reserve for 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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryValuationReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_InventoryWorkInProcess">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 merchandise or goods in the production process expected to be completed 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWorkInProcess</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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>44
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468773119824">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>2 - Balance Sheet Details: Property, Plant and Equipment (Details) - USD ($)<br></strong></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_TextBlockAbstract', window );"><strong>Details</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_LandAndLandImprovements', window );">Land and improvements</a></td>
<td class="nump">$ 1,510,513<span></span>
</td>
<td class="nump">$ 1,778,819<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BuildingsAndImprovementsGross', window );">Buildings and improvements</a></td>
<td class="nump">6,818,066<span></span>
</td>
<td class="nump">8,456,983<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MachineryAndEquipmentGross', window );">Machinery and equipment</a></td>
<td class="nump">35,982,194<span></span>
</td>
<td class="nump">35,618,735<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentOther', window );">Capitalized software and other</a></td>
<td class="nump">1,038,768<span></span>
</td>
<td class="nump">1,060,379<span></span>
</td>
</tr>
<tr class="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 );">Less: Accumulated Depreciation</a></td>
<td class="num">(33,487,748)<span></span>
</td>
<td class="num">(34,441,052)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentOtherNet', window );">Property, Plant and Equipment, Other, Net</a></td>
<td class="nump">$ 11,861,793<span></span>
</td>
<td class="nump">$ 12,473,864<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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_BuildingsAndImprovementsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BuildingsAndImprovementsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LandAndLandImprovements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and depletion of real estate held for productive use and additions or improvements to real estate held for productive use, examples include, but are not limited to, walkways, driveways, fences, and parking lots. Excludes land held for sale.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LandAndLandImprovements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_MachineryAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MachineryAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PropertyPlantAndEquipmentOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 other physical assets used in the normal conduct of business to produce goods and services and not intended for resale.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PropertyPlantAndEquipmentOtherNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 depreciation of long-lived, physical assets used to produce goods and services and not intended for resale, 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_PropertyPlantAndEquipmentOtherNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>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.1</span><table class="report" border="0" cellspacing="2" id="idm140468770818416">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>2 - Balance Sheet Details: Other Accrued Expenses (Details) - USD ($)<br></strong></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_TextBlockAbstract', window );"><strong>Details</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_OtherEmployeeRelatedLiabilitiesCurrent', window );">Profit sharing plan contribution</a></td>
<td class="nump">$ 170,000<span></span>
</td>
<td class="nump">$ 145,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_AccrualForTaxesOtherThanIncomeTaxesCurrent', window );">Property taxes</a></td>
<td class="nump">41,497<span></span>
</td>
<td class="nump">80,269<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">All other items</a></td>
<td class="nump">116,464<span></span>
</td>
<td class="nump">141,149<span></span>
</td>
</tr>
<tr class="re">
<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 );">Other Accrued Expenses</a></td>
<td class="nump">$ 327,961<span></span>
</td>
<td class="nump">$ 366,418<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_AccrualForTaxesOtherThanIncomeTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 real and property 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 720<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6419918&amp;loc=d3e35281-107843<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherEmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 obligations incurred for employer-related costs classified as other, payable 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherEmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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>46
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468770691872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Valuation and Qualifying Accounts (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember', window );">SEC Schedule, 12-09, Allowance, Credit Loss</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_ValuationAllowancesAndReservesBalance', window );">Balance at beginning of year</a></td>
<td class="nump">$ 170,000<span></span>
</td>
<td class="nump">$ 170,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_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Charges to statement of income</a></td>
<td class="num">(1,660)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesDeductions', window );">Write-offs</a></td>
<td class="num">(8,340)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at end of year</a></td>
<td class="nump">160,000<span></span>
</td>
<td class="nump">170,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_InventoryValuationReserveMember', window );">SEC Schedule, 12-09, Reserve, Inventory</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_ValuationAllowancesAndReservesBalance', window );">Balance at beginning of year</a></td>
<td class="nump">612,000<span></span>
</td>
<td class="nump">600,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_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Charges to statement of income</a></td>
<td class="nump">17,070<span></span>
</td>
<td class="nump">41,308<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesDeductions', window );">Write-offs</a></td>
<td class="num">(8,070)<span></span>
</td>
<td class="num">(29,308)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at end of year</a></td>
<td class="nump">$ 621,000<span></span>
</td>
<td class="nump">$ 612,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_ValuationAllowancesAndReservesBalance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation and qualifying accounts and reserves.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column B))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column E))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesBalance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ValuationAllowancesAndReservesChargedToCostAndExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation and qualifying accounts and reserves from charge to cost and 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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column C)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ValuationAllowancesAndReservesDeductions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 decrease in valuation and qualifying accounts and reserves.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column D))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesDeductions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember</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_ValuationAllowancesAndReservesTypeAxis=us-gaap_InventoryValuationReserveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ValuationAllowancesAndReservesTypeAxis=us-gaap_InventoryValuationReserveMember</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>47
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468770699680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>3 - Income Taxes: Provision for Income Tax Expense (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_TextBlockAbstract', window );"><strong>Details</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_FederalIncomeTaxExpenseBenefitContinuingOperations', window );">Provision for Federal income tax expense, Current</a></td>
<td class="nump">$ 723,000<span></span>
</td>
<td class="nump">$ 378,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_CurrentStateAndLocalTaxExpenseBenefit', window );">Provision for State income tax expense, Current</a></td>
<td class="nump">40,000<span></span>
</td>
<td class="nump">8,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_DeferredIncomeTaxExpenseBenefit', window );">Provision for income tax expense, Deferred</a></td>
<td class="nump">22,000<span></span>
</td>
<td class="num">(85,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_IncomeTaxExpenseBenefit', window );">Provision for Income Taxes</a></td>
<td class="nump">$ 785,000<span></span>
</td>
<td class="nump">$ 301,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_CurrentStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax expense (benefit) pertaining to income (loss) from continuing operations.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current and deferred national tax expense (benefit) for non-US (United States of America) jurisdiction.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140468770679424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_TextBlockAbstract', window );"><strong>Details</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_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate', window );">Expected tax at U.S. statutory rate</a></td>
<td class="nump">$ 767,000<span></span>
</td>
<td class="nump">$ 297,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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Expected tax at U.S. statutory rate, %</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationOtherAdjustments', window );">Permanent differences</a></td>
<td class="num">$ (14,000)<span></span>
</td>
<td class="num">$ (2,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_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Permanent differences, %</a></td>
<td class="num">(0.40%)<span></span>
</td>
<td class="num">(0.10%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes', window );">State taxes, net of federal benefit</a></td>
<td class="nump">$ 32,000<span></span>
</td>
<td class="nump">$ 6,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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State taxes, net of federal benefit, %</a></td>
<td class="nump">0.90%<span></span>
</td>
<td class="nump">0.40%<span></span>
</td>
</tr>
<tr class="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">$ 785,000<span></span>
</td>
<td class="nump">$ 301,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_EffectiveIncomeTaxRateContinuingOperations', window );">Income tax expense, %</a></td>
<td class="nump">21.50%<span></span>
</td>
<td class="nump">21.30%<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_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 domestic federal statutory tax rate applicable to pretax income (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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncomeTaxReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncomeTaxReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit).</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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>49
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468771684160">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details) - USD ($)<br></strong></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_TextBlockAbstract', window );"><strong>Details</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_DeferredTaxLiabilitiesPropertyPlantAndEquipment', window );">Depreciation and amortization</a></td>
<td class="num">$ (1,216,451)<span></span>
</td>
<td class="num">$ (1,196,119)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsInventory', window );">Inventory</a></td>
<td class="nump">157,687<span></span>
</td>
<td class="nump">157,600<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences', window );">Accrued vacation</a></td>
<td class="nump">71,923<span></span>
</td>
<td class="nump">74,037<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts', window );">Allowance for doubtful accounts</a></td>
<td class="nump">38,250<span></span>
</td>
<td class="nump">38,250<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOther', window );">Other, net</a></td>
<td class="nump">507<span></span>
</td>
<td class="nump">148<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsLiabilitiesNet', window );">Deferred Tax Assets and Liabilities</a></td>
<td class="num">$ (948,084)<span></span>
</td>
<td class="num">$ (926,084)<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_DeferredTaxAssetsInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxAssetsLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, without 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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from compensated absences (includes, but not limited to, sick and personal 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 from property, plant, and equipment.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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>50
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468773024080">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Other Income Tax Disclosures (Details) - USD ($)<br></strong></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_TextBlockAbstract', window );"><strong>Details</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_DeferredTaxAssetsValuationAllowance', window );">Deferred tax assets valuation allowance</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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>51
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468773018848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Profit Sharing Plan (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_TextBlockAbstract', window );"><strong>Details</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_DefinedContributionPlanEmployerDiscretionaryContributionAmount', window );">Defined Contribution Plan, Employer Discretionary Contribution Amount</a></td>
<td class="nump">$ 170,000<span></span>
</td>
<td class="nump">$ 145,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_DefinedContributionPlanEmployerDiscretionaryContributionAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 discretionary contributions made by an employer to a defined contribution plan.</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_DefinedContributionPlanEmployerDiscretionaryContributionAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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>52
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468770860384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>5 - Other Income: Other Income (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_TextBlockAbstract', window );"><strong>Details</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_InvestmentIncomeInterest', window );">Interest income</a></td>
<td class="nump">$ 55,333<span></span>
</td>
<td class="nump">$ 19,797<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncome', window );">Other nonoperating income</a></td>
<td class="nump">36,100<span></span>
</td>
<td class="nump">35,760<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other Income</a></td>
<td class="nump">$ 91,433<span></span>
</td>
<td class="nump">$ 55,557<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_InvestmentIncomeInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherNonoperatingIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 related to nonoperating activities, classified as other.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(d))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (expense) related to nonoperating activities, classified as other.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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>53
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468768374864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>6 - Segment Information: Schedule of Segment Reporting Information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_Revenues', window );">Net Sales</a></td>
<td class="nump">$ 33,646,033<span></span>
</td>
<td class="nump">$ 33,974,558<span></span>
</td>
</tr>
<tr class="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 and Amortization</a></td>
<td class="nump">1,279,870<span></span>
</td>
<td class="nump">1,318,554<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Gain on sale of property&#133;&#133;&#133;&#133;&#133;&#133;&#133;&#133;&#133;&#133;</a></td>
<td class="nump">4,738,394<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">4,975,137<span></span>
</td>
<td class="nump">5,647,984<span></span>
</td>
</tr>
<tr class="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, net</a></td>
<td class="nump">9,121,230<span></span>
</td>
<td class="nump">8,519,780<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">11,861,793<span></span>
</td>
<td class="nump">12,473,864<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=fil_FastenerMember', window );">Fastener</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_Revenues', window );">Net Sales</a></td>
<td class="nump">30,291,547<span></span>
</td>
<td class="nump">29,831,388<span></span>
</td>
</tr>
<tr class="re">
<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 and Amortization</a></td>
<td class="nump">1,129,151<span></span>
</td>
<td class="nump">1,161,596<span></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_fil_SegmentOperatingProfit', window );">Segment operating profit</a></td>
<td class="nump">505,751<span></span>
</td>
<td class="nump">2,384,486<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_fil_SellingAndAdministrativeExpensesUnallocatedCorporate', window );">Selling and Administrative Expenses</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestAndOtherIncome', window );">Other Income</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="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 );">Capital expenditures</a></td>
<td class="nump">868,654<span></span>
</td>
<td class="nump">493,564<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">4,683,620<span></span>
</td>
<td class="nump">5,302,257<span></span>
</td>
</tr>
<tr class="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, net</a></td>
<td class="nump">7,766,703<span></span>
</td>
<td class="nump">7,214,050<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">9,562,329<span></span>
</td>
<td class="nump">9,782,324<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssets', window );">Other assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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=fil_AssemblyEquipmentMember', window );">Assembly Equipment</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_Revenues', window );">Net Sales</a></td>
<td class="nump">3,354,486<span></span>
</td>
<td class="nump">4,143,170<span></span>
</td>
</tr>
<tr class="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 and Amortization</a></td>
<td class="nump">133,615<span></span>
</td>
<td class="nump">134,957<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_SegmentOperatingProfit', window );">Segment operating profit</a></td>
<td class="nump">413,995<span></span>
</td>
<td class="nump">997,048<span></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_fil_SellingAndAdministrativeExpensesUnallocatedCorporate', window );">Selling and Administrative Expenses</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestAndOtherIncome', window );">Other Income</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="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 );">Capital expenditures</a></td>
<td class="nump">3,207<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="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, net</a></td>
<td class="nump">291,517<span></span>
</td>
<td class="nump">345,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_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">1,354,527<span></span>
</td>
<td class="nump">1,305,730<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">1,303,497<span></span>
</td>
<td class="nump">1,433,905<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssets', window );">Other assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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=fil_UnallocatedCorporateMember', window );">Unallocated Corporate</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_Revenues', window );">Net Sales</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<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 and Amortization</a></td>
<td class="nump">17,104<span></span>
</td>
<td class="nump">22,001<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_SegmentOperatingProfit', window );">Segment operating profit</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_SellingAndAdministrativeExpensesUnallocatedCorporate', window );">Selling and Administrative Expenses</a></td>
<td class="num">(2,096,944)<span></span>
</td>
<td class="num">(2,022,619)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Gain on sale of property&#133;&#133;&#133;&#133;&#133;&#133;&#133;&#133;&#133;&#133;</a></td>
<td class="nump">4,738,394<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_InterestAndOtherIncome', window );">Other Income</a></td>
<td class="nump">91,433<span></span>
</td>
<td class="nump">55,557<span></span>
</td>
</tr>
<tr class="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 );">Capital expenditures</a></td>
<td class="nump">98,082<span></span>
</td>
<td class="nump">177,334<span></span>
</td>
</tr>
<tr class="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, net</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<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, net</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">995,967<span></span>
</td>
<td class="nump">1,257,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_OtherAssets', window );">Other assets</a></td>
<td class="nump">$ 7,667,967<span></span>
</td>
<td class="nump">$ 5,124,630<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_SegmentOperatingProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 segment operating expenses from segment operating revenues.</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;">fil_SegmentOperatingProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</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_fil_SellingAndAdministrativeExpensesUnallocatedCorporate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 costs related to selling a firm's product and services, as well as all other general and administrative expenses.</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;">fil_SellingAndAdministrativeExpensesUnallocatedCorporate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 property, plant and equipment assets, including oil and gas property and timber property.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_InterestAndOtherIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest income and other income recognized during the period. Included in this element is interest derived from investments in debt securities, cash and cash equivalents, and other investments which reflect the time value of money or transactions in which the payments are for the use or forbearance of money and other income from ancillary business-related activities (that is, excluding major activities considered part of the normal operations of the business).</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_InterestAndOtherIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_OtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 classified as other.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_StatementBusinessSegmentsAxis=fil_FastenerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fil_FastenerMember</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_StatementBusinessSegmentsAxis=fil_AssemblyEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fil_AssemblyEquipmentMember</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_StatementBusinessSegmentsAxis=fil_UnallocatedCorporateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fil_UnallocatedCorporateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>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.1</span><table class="report" border="0" cellspacing="2" id="idm140468768745616">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>6 - Segment Information: Disaggregation of Revenue (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 33,646,033<span></span>
</td>
<td class="nump">$ 33,974,558<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">28,157,910<span></span>
</td>
<td class="nump">28,333,216<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=us-gaap_NonUsMember', window );">Non-US</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">5,488,123<span></span>
</td>
<td class="nump">5,641,342<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=fil_AutomotiveMember', window );">Automotive</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">18,663,973<span></span>
</td>
<td class="nump">17,730,756<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=fil_NonautomotiveMember', window );">Nonautomotive</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">14,982,060<span></span>
</td>
<td class="nump">16,243,802<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_FastenerMember', window );">Fastener</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">30,291,547<span></span>
</td>
<td class="nump">29,831,388<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=fil_FastenerMember', window );">Fastener | 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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">24,955,181<span></span>
</td>
<td class="nump">24,280,114<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=fil_FastenerMember', window );">Fastener | Non-US</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">5,336,366<span></span>
</td>
<td class="nump">5,551,274<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=fil_FastenerMember', window );">Fastener | Automotive</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">18,454,238<span></span>
</td>
<td class="nump">17,573,104<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=fil_FastenerMember', window );">Fastener | Nonautomotive</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">11,837,309<span></span>
</td>
<td class="nump">12,258,284<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=fil_AssemblyEquipmentMember', window );">Assembly Equipment</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">3,354,486<span></span>
</td>
<td class="nump">4,143,170<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=fil_AssemblyEquipmentMember', window );">Assembly Equipment | 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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">3,202,729<span></span>
</td>
<td class="nump">4,053,102<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=fil_AssemblyEquipmentMember', window );">Assembly Equipment | Non-US</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">151,757<span></span>
</td>
<td class="nump">90,068<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=fil_AssemblyEquipmentMember', window );">Assembly Equipment | Automotive</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">209,735<span></span>
</td>
<td class="nump">157,652<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=fil_AssemblyEquipmentMember', window );">Assembly Equipment | Nonautomotive</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 3,144,751<span></span>
</td>
<td class="nump">$ 3,985,518<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=us-gaap_NonUsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_NonUsMember</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=fil_AutomotiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fil_AutomotiveMember</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=fil_NonautomotiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fil_NonautomotiveMember</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_StatementBusinessSegmentsAxis=fil_FastenerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fil_FastenerMember</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_StatementBusinessSegmentsAxis=fil_AssemblyEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fil_AssemblyEquipmentMember</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>55
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468771672144">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of % of Revenues and A/R from Major Customers (Details)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_MajorCustomersAxis=fil_TIGroupAutomotiveSystemsMember', window );">T.I. Group Automotive Systems</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_ConcentrationRiskPercentage1', window );">Percentage of revenues from major customers</a></td>
<td class="nump">15.00%<span></span>
</td>
<td class="nump">13.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalInformationAboutEntitysReportableSegments', window );">Percentage of accounts receivable balances</a></td>
<td class="text">19<span></span>
</td>
<td class="text">16<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_MajorCustomersAxis=fil_CooperStandardHoldingsIncMember', window );">Cooper Standard Holdings Inc.</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_ConcentrationRiskPercentage1', window );">Percentage of revenues from major customers</a></td>
<td class="nump">14.00%<span></span>
</td>
<td class="nump">11.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalInformationAboutEntitysReportableSegments', window );">Percentage of accounts receivable balances</a></td>
<td class="text">16<span></span>
</td>
<td class="text">11<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_MajorCustomersAxis=fil_ParkerHannifinCorporationMember', window );">Parker Hannifin Corporation</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_ConcentrationRiskPercentage1', window );">Percentage of revenues from major customers</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalInformationAboutEntitysReportableSegments', window );">Percentage of accounts receivable balances</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">18<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_AdditionalInformationAboutEntitysReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 information about the entity or its reportable segments that may contribute to an understanding of the enterprise.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6374474&amp;loc=d3e8352-108598<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalInformationAboutEntitysReportableSegments</td>
</tr>
<tr>
<td style="padding-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_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13531-108611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13537-108611<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=fil_TIGroupAutomotiveSystemsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fil_TIGroupAutomotiveSystemsMember</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=fil_CooperStandardHoldingsIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fil_CooperStandardHoldingsIncMember</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=fil_ParkerHannifinCorporationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=fil_ParkerHannifinCorporationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>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.1</span><table class="report" border="0" cellspacing="2" id="idm140468768252576">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_TextBlockAbstract', window );"><strong>Details</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_OperatingLeasesRentExpenseNet', window );">Rent Expense</a></td>
<td class="nump">$ 91,000<span></span>
</td>
<td class="nump">$ 27,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_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals', window );">Rent Expense</a></td>
<td class="nump">$ 51,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_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractually required future rental payments receivable on noncancelable subleasing arrangements.</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/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406913&amp;loc=d3e41502-112717<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OperatingLeasesRentExpenseNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Rental expense for the reporting period incurred under operating leases, including minimum and any contingent rent expense, net of related sublease income.</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/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123406913&amp;loc=d3e41499-112717<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesRentExpenseNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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>57
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140468773074384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent Events (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>
<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_TextBlockAbstract', window );"><strong>Details</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_DividendsPayableDateDeclaredDayMonthAndYear', window );">Dividend declaration date</a></td>
<td class="text">Feb. 20,  2023<span></span>
</td>
</tr>
<tr class="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 declared | $ / shares</a></td>
<td class="nump">$ 0.22<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsPayableCurrent', window );">Dividends payable amount | $</a></td>
<td class="nump">$ 212,549<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendPayableDateToBePaidDayMonthAndYear', window );">Dividends Payable, Date to be Paid</a></td>
<td class="text">Mar. 20,  2023<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear', window );">Dividends Payable, Date of Record</a></td>
<td class="text">Mar.  03,  2023<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_DividendPayableDateToBePaidDayMonthAndYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the declared dividend will be paid, 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4304-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendPayableDateToBePaidDayMonthAndYear</td>
</tr>
<tr>
<td style="padding-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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4304-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_DividendsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 dividends declared but unpaid on equity securities issued by the entity and outstanding. 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DividendsPayableDateDeclaredDayMonthAndYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the dividend to be paid was declared, 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4304-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableDateDeclaredDayMonthAndYear</td>
</tr>
<tr>
<td style="padding-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_DividendsPayableDateOfRecordDayMonthAndYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the holder must own the stock to be entitled to the dividend, in YYYY-MM-DD format.</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_DividendsPayableDateOfRecordDayMonthAndYear</td>
</tr>
<tr>
<td style="padding-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_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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>d486850d10k_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2022"
  xmlns:dei="http://xbrl.sec.gov/dei/2022q4"
  xmlns:fil="http://www.chicagorivet.com/20221231"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2022"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="cvr-20221231.xsd" xlink:type="simple"/>
    <context id="Y22">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="E22">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="E22Q2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="I230324">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <instant>2023-03-24</instant>
        </period>
    </context>
    <context id="E21">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Y21">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="E20">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="E20_StEqComps-PrefStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="E20_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="E20_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="E20_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="E20_StEqComps-TreasuryStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="Y21_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="E21_StEqComps-PrefStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="E21_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</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="E21_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="E21_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</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="E21_StEqComps-TreasuryStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="E22_StEqComps-PrefStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="E22_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</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="E22_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="E22_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</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="E22_StEqComps-TreasuryStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Y22_Range-Minimum_PpeByType-LandImprovements">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_Range-Maximum_PpeByType-LandImprovements">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_Range-Minimum_PpeByType-BuildingImprovements">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_Range-Maximum_PpeByType-BuildingImprovements">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_Range-Minimum_PpeByType-MachineryAndEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_Range-Maximum_PpeByType-MachineryAndEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_Range-Minimum_PpeByType-SoftwareAndSoftwareDvlpCosts">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_Range-Maximum_PpeByType-SoftwareAndSoftwareDvlpCosts">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_Range-Minimum_PpeByType-OtherCapizedPpe">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OtherCapitalizedPropertyPlantAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_Range-Maximum_PpeByType-OtherCapizedPpe">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OtherCapitalizedPropertyPlantAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="E21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="E20_ValuationAllowancesAndReservesType-AllowanceForCreditLoss">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="Y22_ValuationAllowancesAndReservesType-AllowanceForCreditLoss">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="E22_ValuationAllowancesAndReservesType-AllowanceForCreditLoss">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="E21_ValuationAllowancesAndReservesType-InventoryValuationReserve">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="E20_ValuationAllowancesAndReservesType-InventoryValuationReserve">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="Y22_ValuationAllowancesAndReservesType-InventoryValuationReserve">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y21_ValuationAllowancesAndReservesType-InventoryValuationReserve">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="E22_ValuationAllowancesAndReservesType-InventoryValuationReserve">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Y22_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StBusnSeg-UnallocatedCorporate">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:UnallocatedCorporateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="E22_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="E22_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="E22_StBusnSeg-UnallocatedCorporate">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:UnallocatedCorporateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Y21_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_StBusnSeg-UnallocatedCorporate">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:UnallocatedCorporateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="E21_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="E21_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="E21_StBusnSeg-UnallocatedCorporate">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:UnallocatedCorporateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Y22_ProductOrService-EndMarket">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:EndMarketMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-Automotive">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:AutomotiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-Automotive_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:AutomotiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:AutomotiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-Nonautomotive">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NonautomotiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-Nonautomotive_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NonautomotiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NonautomotiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y21_ProductOrService-Automotive">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:AutomotiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_ProductOrService-Automotive_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:AutomotiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:AutomotiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_ProductOrService-Nonautomotive">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NonautomotiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_ProductOrService-Nonautomotive_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NonautomotiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NonautomotiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StGeo-Location">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:LocationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StGeo-US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StGeo-US_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StGeo-US_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StGeo-NonUs">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StGeo-NonUs_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StGeo-NonUs_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y21_StGeo-US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_StGeo-US_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_StGeo-US_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_StGeo-NonUs">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_StGeo-NonUs_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_StGeo-NonUs_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y22_MajCust-TIGroupAutomotiveSystems">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fil:TIGroupAutomotiveSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y21_MajCust-TIGroupAutomotiveSystems">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fil:TIGroupAutomotiveSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y22_MajCust-CooperStandardHoldingsInc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fil:CooperStandardHoldingsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y21_MajCust-CooperStandardHoldingsInc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fil:CooperStandardHoldingsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_MajCust-ParkerHannifinCorporation">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fil:ParkerHannifinCorporationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <unit id="Pure">
        <measure>pure</measure>
    </unit>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <unit id="UsdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <dei:EntityCentralIndexKey contextRef="Y22" id="fact1">0000019871</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate contextRef="Y22" id="fact2">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:EntityRegistrantName contextRef="Y22" id="fact3">CHICAGO RIVET &amp; MACHINE CO</dei:EntityRegistrantName>
    <dei:SecurityExchangeName contextRef="Y22" id="fact4">NYSEAMER</dei:SecurityExchangeName>
    <dei:AmendmentFlag contextRef="Y22" id="fact5">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus contextRef="Y22" id="fact6">2022</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus contextRef="Y22" id="fact7">FY</dei:DocumentFiscalPeriodFocus>
    <dei:DocumentType contextRef="Y22">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport contextRef="Y22">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate contextRef="Y22">2022-12-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport contextRef="Y22">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="Y22">000-01227</dei:EntityFileNumber>
    <dei:EntityIncorporationStateCountryCode contextRef="Y22">IL</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="Y22">36-0904920</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="Y22">901 Frontenac Road</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="Y22">Naperville</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="Y22">IL</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="Y22">60563</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="Y22">630</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="Y22">357-8500</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="Y22">Common Stock, par value $1.00 per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="Y22">CVR</dei:TradingSymbol>
    <dei:EntityWellKnownSeasonedIssuer contextRef="Y22">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers contextRef="Y22">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus contextRef="Y22">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="Y22">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="Y22">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="Y22">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="Y22">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag contextRef="Y22">false</dei:IcfrAuditorAttestationFlag>
    <dei:EntityShellCompany contextRef="Y22">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat contextRef="E22Q2" decimals="INF" unitRef="USD">22381687</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding contextRef="I230324" decimals="INF" unitRef="Shares">966132</dei:EntityCommonStockSharesOutstanding>
    <dei:AuditorFirmId contextRef="Y22">173</dei:AuditorFirmId>
    <dei:AuditorName contextRef="Y22">Crowe LLP</dei:AuditorName>
    <dei:AuditorLocation contextRef="Y22">Oak Brook, Illinois</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E22" decimals="INF" unitRef="USD">4045101</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E21" decimals="INF" unitRef="USD">2036954</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CertificatesOfDepositAtCarryingValue contextRef="E22" decimals="INF" unitRef="USD">2691000</us-gaap:CertificatesOfDepositAtCarryingValue>
    <us-gaap:CertificatesOfDepositAtCarryingValue contextRef="E21" decimals="INF" unitRef="USD">2741000</us-gaap:CertificatesOfDepositAtCarryingValue>
    <us-gaap:AccountsReceivableNetCurrent contextRef="E22" decimals="INF" unitRef="USD">4975137</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="E21" decimals="INF" unitRef="USD">5647984</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet contextRef="E22" decimals="INF" unitRef="USD">9121230</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="E21" decimals="INF" unitRef="USD">8519780</us-gaap:InventoryNet>
    <us-gaap:PrepaidTaxes contextRef="E22" decimals="INF" unitRef="USD">509119</us-gaap:PrepaidTaxes>
    <us-gaap:PrepaidTaxes contextRef="E21" decimals="INF" unitRef="USD">440</us-gaap:PrepaidTaxes>
    <us-gaap:OtherAssetsCurrent contextRef="E22" decimals="INF" unitRef="USD">422747</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent contextRef="E21" decimals="INF" unitRef="USD">346236</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="E22" decimals="INF" unitRef="USD">21764334</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="E21" decimals="INF" unitRef="USD">19292394</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E22" decimals="INF" unitRef="USD">11861793</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E21" decimals="INF" unitRef="USD">12473864</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Assets contextRef="E22" decimals="INF" unitRef="USD">33626127</us-gaap:Assets>
    <us-gaap:Assets contextRef="E21" decimals="INF" unitRef="USD">31766258</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent contextRef="E22" decimals="INF" unitRef="USD">697235</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="E21" decimals="INF" unitRef="USD">692635</us-gaap:AccountsPayableCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="E22" decimals="INF" unitRef="USD">462332</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="E21" decimals="INF" unitRef="USD">509332</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E22" decimals="INF" unitRef="USD">327961</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E21" decimals="INF" unitRef="USD">366418</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:CustomerAdvancesAndDepositsCurrent contextRef="E22" decimals="INF" unitRef="USD">203717</us-gaap:CustomerAdvancesAndDepositsCurrent>
    <us-gaap:CustomerAdvancesAndDepositsCurrent contextRef="E21" decimals="INF" unitRef="USD">302424</us-gaap:CustomerAdvancesAndDepositsCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="E22" decimals="INF" unitRef="USD">1691245</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="E21" decimals="INF" unitRef="USD">1870809</us-gaap:LiabilitiesCurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="E22" decimals="INF" unitRef="USD">948084</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="E21" decimals="INF" unitRef="USD">926084</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:Liabilities contextRef="E22" decimals="INF" unitRef="USD">2639329</us-gaap:Liabilities>
    <us-gaap:Liabilities contextRef="E21" decimals="INF" unitRef="USD">2796893</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare contextRef="E22" decimals="INF" unitRef="UsdPerShare">0</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare contextRef="E21" decimals="INF" unitRef="UsdPerShare">0</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized contextRef="E22" decimals="INF" unitRef="Shares">500000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized contextRef="E21" decimals="INF" unitRef="Shares">500000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding contextRef="E22" decimals="INF" unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding contextRef="E21" decimals="INF" unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValue contextRef="E22" decimals="128" unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue contextRef="E21" decimals="128" unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare contextRef="E22" decimals="INF" unitRef="UsdPerShare">1.00</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare contextRef="E21" decimals="INF" unitRef="UsdPerShare">1.00</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized contextRef="E22" decimals="INF" unitRef="Shares">4000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized contextRef="E21" decimals="INF" unitRef="Shares">4000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued contextRef="E22" decimals="INF" unitRef="Shares">1138096</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued contextRef="E21" decimals="INF" unitRef="Shares">1138096</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="E22" decimals="INF" unitRef="Shares">966132</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding contextRef="E21" decimals="INF" unitRef="Shares">966132</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValueOutstanding contextRef="E22" decimals="INF" unitRef="USD">1138096</us-gaap:CommonStockValueOutstanding>
    <us-gaap:CommonStockValueOutstanding contextRef="E21" decimals="INF" unitRef="USD">1138096</us-gaap:CommonStockValueOutstanding>
    <us-gaap:AdditionalPaidInCapital contextRef="E22" decimals="INF" unitRef="USD">447134</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital contextRef="E21" decimals="INF" unitRef="USD">447134</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="E22" decimals="INF" unitRef="USD">33323666</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="E21" decimals="INF" unitRef="USD">31306233</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:TreasuryStockValue contextRef="E22" decimals="INF" unitRef="USD">3922098</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue contextRef="E21" decimals="INF" unitRef="USD">3922098</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity contextRef="E22" decimals="INF" unitRef="USD">30986798</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="E21" decimals="INF" unitRef="USD">28969365</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="E22" decimals="INF" unitRef="USD">33626127</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="E21" decimals="INF" unitRef="USD">31766258</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:Revenues contextRef="Y22" decimals="INF" unitRef="USD">33646033</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="Y21" decimals="INF" unitRef="USD">33974558</us-gaap:Revenues>
    <us-gaap:CostOfRevenue contextRef="Y22" decimals="INF" unitRef="USD">29830710</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="Y21" decimals="INF" unitRef="USD">27509466</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit contextRef="Y22" decimals="INF" unitRef="USD">3815323</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="Y21" decimals="INF" unitRef="USD">6465092</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="Y22" decimals="INF" unitRef="USD">4992521</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="Y21" decimals="INF" unitRef="USD">5106177</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="Y22" decimals="INF" unitRef="USD">4738394</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="Y21" decimals="INF" unitRef="USD">0</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:OperatingExpenses contextRef="Y22" decimals="INF" unitRef="USD">254127</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="Y21" decimals="INF" unitRef="USD">5106177</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss contextRef="Y22" decimals="INF" unitRef="USD">3561196</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="Y21" decimals="INF" unitRef="USD">1358915</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="Y22" decimals="INF" unitRef="USD">91433</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="Y21" decimals="INF" unitRef="USD">55557</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="Y22" decimals="INF" unitRef="USD">3652629</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="Y21" decimals="INF" unitRef="USD">1414472</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y22" decimals="INF" unitRef="USD">785000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y21" decimals="INF" unitRef="USD">301000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss contextRef="Y22" decimals="INF" unitRef="USD">2867629</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="Y21" decimals="INF" unitRef="USD">1113472</us-gaap:NetIncomeLoss>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare contextRef="Y22" decimals="INF" unitRef="UsdPerShare">2.97</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare contextRef="Y21" decimals="INF" unitRef="UsdPerShare">1.15</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare contextRef="Y22" decimals="INF" unitRef="UsdPerShare">2.97</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare contextRef="Y21" decimals="INF" unitRef="UsdPerShare">1.15</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="Y22" decimals="INF" unitRef="Shares">966132</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="Y21" decimals="INF" unitRef="Shares">966132</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="Y22" decimals="INF" unitRef="Shares">966132</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="Y21" decimals="INF" unitRef="Shares">966132</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:CommonStockDividendsPerShareDeclared contextRef="Y22" decimals="INF" unitRef="UsdPerShare">0.88</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared contextRef="Y21" decimals="INF" unitRef="UsdPerShare">0.88</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:StockholdersEquity
      contextRef="E20_StEqComps-PrefStock"
      decimals="INF"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="E20_StEqComps-CommonStock"
      decimals="INF"
      unitRef="Shares">966132</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="E20_StEqComps-CommonStock"
      decimals="INF"
      unitRef="USD">1138096</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="E20_StEqComps-AddPaidInCap"
      decimals="INF"
      unitRef="USD">447134</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="E20_StEqComps-RetainedEarnings"
      decimals="INF"
      unitRef="USD">31042957</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockShares
      contextRef="E20_StEqComps-TreasuryStock"
      decimals="INF"
      unitRef="Shares">171964</us-gaap:TreasuryStockShares>
    <us-gaap:StockholdersEquity
      contextRef="E20_StEqComps-TreasuryStock"
      decimals="INF"
      unitRef="USD">-3922098</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="E20" decimals="INF" unitRef="USD">28706089</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="Y21_StEqComps-RetainedEarnings"
      decimals="INF"
      unitRef="USD">1113472</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="Y21" decimals="INF" unitRef="USD">1113472</us-gaap:NetIncomeLoss>
    <us-gaap:CommonStockDividendsPerShareDeclared contextRef="Y21" decimals="INF" unitRef="UsdPerShare">0.88</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:Dividends
      contextRef="Y21_StEqComps-RetainedEarnings"
      decimals="INF"
      unitRef="USD">850196</us-gaap:Dividends>
    <us-gaap:Dividends contextRef="Y21" decimals="INF" unitRef="USD">850196</us-gaap:Dividends>
    <us-gaap:StockholdersEquity
      contextRef="E21_StEqComps-PrefStock"
      decimals="INF"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="E21_StEqComps-CommonStock"
      decimals="INF"
      unitRef="Shares">966132</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="E21_StEqComps-CommonStock"
      decimals="INF"
      unitRef="USD">1138096</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="E21_StEqComps-AddPaidInCap"
      decimals="INF"
      unitRef="USD">447134</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="E21_StEqComps-RetainedEarnings"
      decimals="INF"
      unitRef="USD">31306233</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockShares
      contextRef="E21_StEqComps-TreasuryStock"
      decimals="INF"
      unitRef="Shares">171964</us-gaap:TreasuryStockShares>
    <us-gaap:StockholdersEquity
      contextRef="E21_StEqComps-TreasuryStock"
      decimals="INF"
      unitRef="USD">-3922098</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="E21" decimals="INF" unitRef="USD">28969365</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="INF"
      unitRef="USD">2867629</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="Y22" decimals="INF" unitRef="USD">2867629</us-gaap:NetIncomeLoss>
    <us-gaap:CommonStockDividendsPerShareDeclared contextRef="Y22" decimals="INF" unitRef="UsdPerShare">0.88</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:Dividends
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="INF"
      unitRef="USD">850196</us-gaap:Dividends>
    <us-gaap:Dividends contextRef="Y22" decimals="INF" unitRef="USD">850196</us-gaap:Dividends>
    <us-gaap:StockholdersEquity
      contextRef="E22_StEqComps-PrefStock"
      decimals="INF"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="E22_StEqComps-CommonStock"
      decimals="INF"
      unitRef="Shares">966132</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="E22_StEqComps-CommonStock"
      decimals="INF"
      unitRef="USD">1138096</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="E22_StEqComps-AddPaidInCap"
      decimals="INF"
      unitRef="USD">447134</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="E22_StEqComps-RetainedEarnings"
      decimals="INF"
      unitRef="USD">33323666</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockShares
      contextRef="E22_StEqComps-TreasuryStock"
      decimals="INF"
      unitRef="Shares">171964</us-gaap:TreasuryStockShares>
    <us-gaap:StockholdersEquity
      contextRef="E22_StEqComps-TreasuryStock"
      decimals="INF"
      unitRef="USD">-3922098</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="E22" decimals="INF" unitRef="USD">30986798</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="Y22" decimals="INF" unitRef="USD">2867629</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="Y21" decimals="INF" unitRef="USD">1113472</us-gaap:NetIncomeLoss>
    <us-gaap:Depreciation contextRef="Y22" decimals="INF" unitRef="USD">1279870</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="Y21" decimals="INF" unitRef="USD">1318554</us-gaap:Depreciation>
    <us-gaap:GainLossOnDispositionOfAssets contextRef="Y22" decimals="INF" unitRef="USD">-4741096</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:GainLossOnDispositionOfAssets contextRef="Y21" decimals="INF" unitRef="USD">21564</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="Y22" decimals="INF" unitRef="USD">22000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="Y21" decimals="INF" unitRef="USD">-85000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="Y22" decimals="INF" unitRef="USD">672847</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="Y21" decimals="INF" unitRef="USD">-484534</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories contextRef="Y22" decimals="INF" unitRef="USD">-601450</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories contextRef="Y21" decimals="INF" unitRef="USD">-3366486</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets contextRef="Y22" decimals="INF" unitRef="USD">-585190</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets contextRef="Y21" decimals="INF" unitRef="USD">123036</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="Y22" decimals="INF" unitRef="USD">4600</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="Y21" decimals="INF" unitRef="USD">226211</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities contextRef="Y22" decimals="INF" unitRef="USD">-47000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities contextRef="Y21" decimals="INF" unitRef="USD">27324</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities contextRef="Y22" decimals="INF" unitRef="USD">-38457</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities contextRef="Y21" decimals="INF" unitRef="USD">43450</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInCustomerAdvancesAndDeposits contextRef="Y22" decimals="INF" unitRef="USD">-98707</us-gaap:IncreaseDecreaseInCustomerAdvancesAndDeposits>
    <us-gaap:IncreaseDecreaseInCustomerAdvancesAndDeposits contextRef="Y21" decimals="INF" unitRef="USD">52926</us-gaap:IncreaseDecreaseInCustomerAdvancesAndDeposits>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="Y22" decimals="INF" unitRef="USD">-1264954</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="Y21" decimals="INF" unitRef="USD">-1009483</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireProductiveAssets contextRef="Y22" decimals="INF" unitRef="USD">969943</us-gaap:PaymentsToAcquireProductiveAssets>
    <us-gaap:PaymentsToAcquireProductiveAssets contextRef="Y21" decimals="INF" unitRef="USD">670898</us-gaap:PaymentsToAcquireProductiveAssets>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="Y22" decimals="INF" unitRef="USD">5043240</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="Y21" decimals="INF" unitRef="USD">7800</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities contextRef="Y22" decimals="INF" unitRef="USD">1495000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities contextRef="Y21" decimals="INF" unitRef="USD">4484000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities>
    <us-gaap:PaymentsToAcquireHeldToMaturitySecurities contextRef="Y22" decimals="INF" unitRef="USD">1445000</us-gaap:PaymentsToAcquireHeldToMaturitySecurities>
    <us-gaap:PaymentsToAcquireHeldToMaturitySecurities contextRef="Y21" decimals="INF" unitRef="USD">2492000</us-gaap:PaymentsToAcquireHeldToMaturitySecurities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="Y22" decimals="INF" unitRef="USD">4123297</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="Y21" decimals="INF" unitRef="USD">1328902</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsOfDividendsCommonStock contextRef="Y22" decimals="INF" unitRef="USD">850196</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock contextRef="Y21" decimals="INF" unitRef="USD">850196</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="Y22" decimals="INF" unitRef="USD">-850196</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="Y21" decimals="INF" unitRef="USD">-850196</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect contextRef="Y22" decimals="INF" unitRef="USD">2008147</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect contextRef="Y21" decimals="INF" unitRef="USD">-530777</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E21" decimals="INF" unitRef="USD">2036954</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E20" decimals="INF" unitRef="USD">2567731</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E22" decimals="INF" unitRef="USD">4045101</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E21" decimals="INF" unitRef="USD">2036954</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:IncomeTaxesPaidNet contextRef="Y22" decimals="INF" unitRef="USD">1271679</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet contextRef="Y21" decimals="INF" unitRef="USD">300500</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock contextRef="Y22">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;1 - Nature of Business and Significant Accounting Policies&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Nature of Business-&lt;/b&gt;The Company operates in the fastener industry and is in the business of producing and selling rivets, cold-formed fasteners and parts, screw machine products, automatic rivet setting machines and parts and tools for such machines.&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;A summary of the Company&#x2019;s significant accounting policies follows:&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Principles of Consolidation-&lt;/b&gt;The consolidated financial statements include the accounts of Chicago Rivet &amp;amp; Machine Co. and its wholly-owned subsidiary, H &amp;amp; L Tool Company, Inc. (&#x201c;H &amp;amp; L Tool&#x201d;). &#160;All significant intercompany accounts and transactions have been eliminated.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Revenue Recognition-&lt;/b&gt; Revenue is recognized when control of the promised goods or services is transferred to our customers, generally upon shipment of goods or completion of services, in an amount that reflects the consideration we expect to receive in exchange for those goods or services. &#160;Sales taxes we may collect concurrent with revenue producing activities are excluded from revenue. &#160;Revenue is recognized net of certain sales adjustments to arrive at net sales as reported on the statement of income. &#160;These adjustments primarily relate to customer returns and allowances, which vary over time. &#160;The Company records a liability and reduction in sales for estimated product returns based upon historical experience. &#160;If we determine that our obligation under warranty claims is probable and subject to reasonable determination, an estimate of that liability is recorded as an offset against revenue at that time. &#160;As of December 31, 2022 and 2021, reserves for warranty claims were not material. &#160;Cash received by the Company prior to shipment is recorded as unearned revenue. &#160;In 2022 and 2021 the Company recognized revenue from such payments of $302,357 and $248,799, respectively, that was included in the unearned revenue balance at the beginning of the period. &#160;Shipping and handling fees billed to customers are recognized in net sales, and related costs as cost of sales, when incurred.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Credit Risk-&lt;/b&gt;The Company extends credit on the basis of terms that are customary within our markets to various companies doing business primarily in the automotive industry. &#160;The Company has a concentration of credit risk primarily within the automotive industry and in the Midwestern United States. &#160;The Company has established an allowance for accounts that may become uncollectible in the future. &#160;This estimated allowance is based primarily on management's evaluation of the financial condition of the customer and historical experience. &#160;The Company monitors its accounts receivable and charges to expense an amount equal to its estimate of potential credit losses. &#160;The Company considers a number of factors in determining its estimates, including the length of time its trade accounts receivable are past due, the Company's previous loss history and the customer's current ability to pay its obligation. &#160;Accounts receivable balances are charged off against the allowance when it is determined that the receivable will not be recovered.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Cash and Cash Equivalents and Certificates of Deposit-&lt;/b&gt;The Company considers all highly liquid investments, including U.S. Treasury bills and certificates of deposit, with a maturity of three months or less when purchased to be cash equivalents. &#160;Certificates of deposit with an original maturity of greater than three months are separately presented at cost which approximates market value. &#160;The Company maintains cash on deposit in several financial institutions. At times, the account balances may be in excess of Federal Deposit Insurance Corporation insured limits.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Fair Value of Financial Instruments-&lt;/b&gt;The carrying amounts reported in the consolidated balance sheets for cash and cash equivalents, certificates of deposit, accounts receivable and accounts payable approximate fair value based on their short-term nature.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Inventories-&lt;/b&gt;Inventories are stated at the lower of cost or net realizable value, cost being determined by the first-in, first-out method. &#160;The value of inventories is reduced for estimated excess and obsolete inventories based on a review of on-hand inventories compared to historical and estimated future sales and usage.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Property, Plant and Equipment-&lt;/b&gt;Properties are stated at cost and are depreciated over their estimated useful lives using the straight-line method for financial reporting purposes. &#160;Accelerated methods of depreciation are used for income tax purposes. &#160;Direct costs related to developing or obtaining software for internal use are capitalized as property and equipment. &#160;Capitalized software costs are amortized over the software&#x2019;s useful life when the software is placed in service. &#160;The estimated useful lives by asset category are:&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="margin:0 auto;border-collapse:collapse;width:277pt"&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;i&gt;Asset Category&lt;/i&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;i&gt;Estimated Useful Life&lt;/i&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Land improvements&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;15 to 40 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Buildings and improvements&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;10 to 40 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Machinery and equipment&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;5 to 18 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Capitalized software costs&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;3 to 5 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Other equipment&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;3 to 10 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company reviews the carrying value of property, plant and equipment for impairment whenever events and circumstances indicate that the carrying value of an asset may not be recoverable from the estimated future cash flows expected to result from its use and eventual disposition. &#160;In cases where undiscounted expected future cash flows are less than the carrying value, an impairment loss is recognized equal to an amount by which the carrying value exceeds the fair value of assets. &#160;There were no triggering events requiring assessment of impairment as of December 31, 2022 and 2021.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;When properties are retired or sold, the related cost and accumulated depreciation are removed from the respective accounts, and any gain or loss on disposition is recognized in current operations. &#160;Maintenance, repairs and minor betterments that do not improve the related asset or extend its useful life are charged to operations as incurred. &lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Income Taxes&#x2014;&lt;/b&gt;Deferred income taxes are determined under the asset and liability method. &#160;Deferred income taxes arise from temporary differences between the income tax basis of assets and liabilities and their reported amounts in the financial statements. &#160;Deferred taxes are shown on the balance sheet as a net long-term asset or liability.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company applies a comprehensive model for the financial statement recognition, measurement, classification and disclosure of uncertain tax positions.&#160; In the first step of the two-step process, the Company evaluates the tax position for recognition by determining if the weight of available evidence indicates that it is more likely than not that the position will be sustained on audit, including resolution of related appeals or litigation processes, if any.&#160; In the second step, the Company measures the tax benefit as the largest amount that is more than 50% likely of being realized upon settlement.&#160; As of December 31, 2022 and 2021, the Company determined that there are no uncertain tax positions with a more than 50% likelihood of being realized upon settlement.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company classifies interest and penalties related to unrecognized tax benefits as a component of income tax expense. &#160;There were no such expenses in 2022 or 2021.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company&#x2019;s federal income tax returns for the 2019 through 2021 tax years are subject to examination by the Internal Revenue Service (&#x201c;IRS&#x201d;). &#160;While it may be possible that a reduction could occur with respect to the Company&#x2019;s unrecognized tax benefits as an outcome of an IRS examination, management does not anticipate any adjustments that would result in a material change to the results of operations or financial condition of the Company.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;No statutes have been extended on any of the Company&#x2019;s federal income tax filings. The statute of limitations on the Company&#x2019;s 2019, 2020 and 2021 federal income tax returns will expire on September 15, 2023, 2024 and 2025, respectively.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company&#x2019;s state income tax returns for the 2019 through 2021 tax years are subject to examination by various state authorities with the latest closing period on October 31, 2025. &#160;The Company is currently not under examination by any state authority for income tax purposes and no statutes for state income tax filings have been extended.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Segment Information-&lt;/b&gt;The Company reports segment information based on the internal structure and reporting of the Company&#x2019;s operations.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Net Income Per Share-&lt;/b&gt; Net income per share of common stock is based on the weighted average number of shares outstanding of 966,132 in 2022 and 2021.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font-family:Arial"&gt;&lt;b&gt;Use of Estimates-&lt;/b&gt;The preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and the accompanying notes. &#160;Significant items subject to estimates and assumptions include depreciable lives, deferred taxes and valuation allowances for accounts receivable and inventory obsolescence. &#160;Actual results could differ from those estimates.&lt;/span&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Recent Accounting Pronouncements-&lt;/b&gt; In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments&#160;- Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments and in November 2018 issued an amendment, ASU 2018-19, Codification Improvements to Topic 326, Financial Instruments &#x2013;&#160;Credit Losses. &#160;ASU 2016-13 amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments, including trade receivables. This may result in the earlier recognition of allowances for losses. ASU 2016-13 and ASU 2018-19 should be applied on either a prospective transition or modified-retrospective approach depending on the subtopic. &#160;ASU 2016-13 is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years, with early adoption permitted. The Company adopted this ASU on January 1, 2023. &#160;The impact of the adoption on our consolidated financial statements was not material.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:justify"&gt;&#160;&lt;/p&gt; </us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock contextRef="Y22">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Principles of Consolidation-&lt;/b&gt;The consolidated financial statements include the accounts of Chicago Rivet &amp;amp; Machine Co. and its wholly-owned subsidiary, H &amp;amp; L Tool Company, Inc. (&#x201c;H &amp;amp; L Tool&#x201d;). &#160;All significant intercompany accounts and transactions have been eliminated.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure contextRef="Y22">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Revenue Recognition-&lt;/b&gt; Revenue is recognized when control of the promised goods or services is transferred to our customers, generally upon shipment of goods or completion of services, in an amount that reflects the consideration we expect to receive in exchange for those goods or services. &#160;Sales taxes we may collect concurrent with revenue producing activities are excluded from revenue. &#160;Revenue is recognized net of certain sales adjustments to arrive at net sales as reported on the statement of income. &#160;These adjustments primarily relate to customer returns and allowances, which vary over time. &#160;The Company records a liability and reduction in sales for estimated product returns based upon historical experience. &#160;If we determine that our obligation under warranty claims is probable and subject to reasonable determination, an estimate of that liability is recorded as an offset against revenue at that time. &#160;As of December 31, 2022 and 2021, reserves for warranty claims were not material. &#160;Cash received by the Company prior to shipment is recorded as unearned revenue. &#160;In 2022 and 2021 the Company recognized revenue from such payments of $302,357 and $248,799, respectively, that was included in the unearned revenue balance at the beginning of the period. &#160;Shipping and handling fees billed to customers are recognized in net sales, and related costs as cost of sales, when incurred.&lt;/p&gt; </us-gaap:RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="Y22" decimals="INF" unitRef="USD">302357</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="Y21" decimals="INF" unitRef="USD">248799</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ConcentrationRiskCreditRisk contextRef="Y22">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Credit Risk-&lt;/b&gt;The Company extends credit on the basis of terms that are customary within our markets to various companies doing business primarily in the automotive industry. &#160;The Company has a concentration of credit risk primarily within the automotive industry and in the Midwestern United States. &#160;The Company has established an allowance for accounts that may become uncollectible in the future. &#160;This estimated allowance is based primarily on management's evaluation of the financial condition of the customer and historical experience. &#160;The Company monitors its accounts receivable and charges to expense an amount equal to its estimate of potential credit losses. &#160;The Company considers a number of factors in determining its estimates, including the length of time its trade accounts receivable are past due, the Company's previous loss history and the customer's current ability to pay its obligation. &#160;Accounts receivable balances are charged off against the allowance when it is determined that the receivable will not be recovered.&lt;/p&gt; </us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="Y22">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Cash and Cash Equivalents and Certificates of Deposit-&lt;/b&gt;The Company considers all highly liquid investments, including U.S. Treasury bills and certificates of deposit, with a maturity of three months or less when purchased to be cash equivalents. &#160;Certificates of deposit with an original maturity of greater than three months are separately presented at cost which approximates market value. &#160;The Company maintains cash on deposit in several financial institutions. At times, the account balances may be in excess of Federal Deposit Insurance Corporation insured limits.&lt;/p&gt; </us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy contextRef="Y22">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Fair Value of Financial Instruments-&lt;/b&gt;The carrying amounts reported in the consolidated balance sheets for cash and cash equivalents, certificates of deposit, accounts receivable and accounts payable approximate fair value based on their short-term nature.&lt;/p&gt; </us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:InventoryPolicyTextBlock contextRef="Y22">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Inventories-&lt;/b&gt;Inventories are stated at the lower of cost or net realizable value, cost being determined by the first-in, first-out method. &#160;The value of inventories is reduced for estimated excess and obsolete inventories based on a review of on-hand inventories compared to historical and estimated future sales and usage.&lt;/p&gt; </us-gaap:InventoryPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="Y22">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Property, Plant and Equipment-&lt;/b&gt;Properties are stated at cost and are depreciated over their estimated useful lives using the straight-line method for financial reporting purposes. &#160;Accelerated methods of depreciation are used for income tax purposes. &#160;Direct costs related to developing or obtaining software for internal use are capitalized as property and equipment. &#160;Capitalized software costs are amortized over the software&#x2019;s useful life when the software is placed in service. &#160;The estimated useful lives by asset category are:&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="margin:0 auto;border-collapse:collapse;width:277pt"&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;i&gt;Asset Category&lt;/i&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;i&gt;Estimated Useful Life&lt;/i&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Land improvements&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;15 to 40 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Buildings and improvements&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;10 to 40 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Machinery and equipment&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;5 to 18 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Capitalized software costs&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;3 to 5 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Other equipment&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;3 to 10 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company reviews the carrying value of property, plant and equipment for impairment whenever events and circumstances indicate that the carrying value of an asset may not be recoverable from the estimated future cash flows expected to result from its use and eventual disposition. &#160;In cases where undiscounted expected future cash flows are less than the carrying value, an impairment loss is recognized equal to an amount by which the carrying value exceeds the fair value of assets. &#160;There were no triggering events requiring assessment of impairment as of December 31, 2022 and 2021.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;When properties are retired or sold, the related cost and accumulated depreciation are removed from the respective accounts, and any gain or loss on disposition is recognized in current operations. &#160;Maintenance, repairs and minor betterments that do not improve the related asset or extend its useful life are charged to operations as incurred. &lt;/p&gt; </us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="Y22_Range-Minimum_PpeByType-LandImprovements">P15Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="Y22_Range-Maximum_PpeByType-LandImprovements">P40Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="Y22_Range-Minimum_PpeByType-BuildingImprovements">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="Y22_Range-Maximum_PpeByType-BuildingImprovements">P40Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="Y22_Range-Minimum_PpeByType-MachineryAndEquipment">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="Y22_Range-Maximum_PpeByType-MachineryAndEquipment">P18Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="Y22_Range-Minimum_PpeByType-SoftwareAndSoftwareDvlpCosts">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="Y22_Range-Maximum_PpeByType-SoftwareAndSoftwareDvlpCosts">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="Y22_Range-Minimum_PpeByType-OtherCapizedPpe">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="Y22_Range-Maximum_PpeByType-OtherCapizedPpe">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="Y22">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Income Taxes&#x2014;&lt;/b&gt;Deferred income taxes are determined under the asset and liability method. &#160;Deferred income taxes arise from temporary differences between the income tax basis of assets and liabilities and their reported amounts in the financial statements. &#160;Deferred taxes are shown on the balance sheet as a net long-term asset or liability.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company applies a comprehensive model for the financial statement recognition, measurement, classification and disclosure of uncertain tax positions.&#160; In the first step of the two-step process, the Company evaluates the tax position for recognition by determining if the weight of available evidence indicates that it is more likely than not that the position will be sustained on audit, including resolution of related appeals or litigation processes, if any.&#160; In the second step, the Company measures the tax benefit as the largest amount that is more than 50% likely of being realized upon settlement.&#160; As of December 31, 2022 and 2021, the Company determined that there are no uncertain tax positions with a more than 50% likelihood of being realized upon settlement.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company classifies interest and penalties related to unrecognized tax benefits as a component of income tax expense. &#160;There were no such expenses in 2022 or 2021.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company&#x2019;s federal income tax returns for the 2019 through 2021 tax years are subject to examination by the Internal Revenue Service (&#x201c;IRS&#x201d;). &#160;While it may be possible that a reduction could occur with respect to the Company&#x2019;s unrecognized tax benefits as an outcome of an IRS examination, management does not anticipate any adjustments that would result in a material change to the results of operations or financial condition of the Company.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;No statutes have been extended on any of the Company&#x2019;s federal income tax filings. The statute of limitations on the Company&#x2019;s 2019, 2020 and 2021 federal income tax returns will expire on September 15, 2023, 2024 and 2025, respectively.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company&#x2019;s state income tax returns for the 2019 through 2021 tax years are subject to examination by various state authorities with the latest closing period on October 31, 2025. &#160;The Company is currently not under examination by any state authority for income tax purposes and no statutes for state income tax filings have been extended.&lt;/p&gt; </us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:LiabilityForUncertainTaxPositionsCurrent contextRef="E22" decimals="INF" unitRef="USD">0</us-gaap:LiabilityForUncertainTaxPositionsCurrent>
    <us-gaap:LiabilityForUncertainTaxPositionsCurrent contextRef="E21" decimals="INF" unitRef="USD">0</us-gaap:LiabilityForUncertainTaxPositionsCurrent>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense contextRef="Y22" decimals="INF" unitRef="USD">0</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense contextRef="Y21" decimals="INF" unitRef="USD">0</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock contextRef="Y22">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Segment Information-&lt;/b&gt;The Company reports segment information based on the internal structure and reporting of the Company&#x2019;s operations.&lt;/p&gt; </us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="Y22">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Net Income Per Share-&lt;/b&gt; Net income per share of common stock is based on the weighted average number of shares outstanding of 966,132 in 2022 and 2021.&lt;/p&gt; </us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="Y22" decimals="INF" unitRef="Shares">966132</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="Y21" decimals="INF" unitRef="Shares">966132</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:UseOfEstimates contextRef="Y22">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font-family:Arial"&gt;&lt;b&gt;Use of Estimates-&lt;/b&gt;The preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and the accompanying notes. &#160;Significant items subject to estimates and assumptions include depreciable lives, deferred taxes and valuation allowances for accounts receivable and inventory obsolescence. &#160;Actual results could differ from those estimates.&lt;/span&gt;&lt;/p&gt; </us-gaap:UseOfEstimates>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="Y22">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Recent Accounting Pronouncements-&lt;/b&gt; In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments&#160;- Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments and in November 2018 issued an amendment, ASU 2018-19, Codification Improvements to Topic 326, Financial Instruments &#x2013;&#160;Credit Losses. &#160;ASU 2016-13 amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments, including trade receivables. This may result in the earlier recognition of allowances for losses. ASU 2016-13 and ASU 2018-19 should be applied on either a prospective transition or modified-retrospective approach depending on the subtopic. &#160;ASU 2016-13 is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years, with early adoption permitted. The Company adopted this ASU on January 1, 2023. &#160;The impact of the adoption on our consolidated financial statements was not material.&lt;/p&gt; </us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:SupplementalBalanceSheetDisclosuresTextBlock contextRef="Y22">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;2 - Balance Sheet Details&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"/&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2021&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Inventories:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Raw materials&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;4,460,071&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;4,645,923&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Work in process&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;2,747,427&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;2,181,457&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Finished goods&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;2,534,732&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;2,304,400&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;9,742,230&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;9,131,780&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Valuation reserves&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(621,000)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(612,000)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"/&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;9,121,230&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;8,519,780&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"/&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2021&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:13.95pt"&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Property, Plant and Equipment, net:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Land and improvements&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;1,510,513&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;1,778,819&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Buildings and improvements&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;6,818,066&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;8,456,983&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Machinery and equipment&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;35,982,194&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;35,618,735&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Capitalized software and other&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;1,038,768&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;1,060,379&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:13pt Arial Narrow;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;45,349,541&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;46,914,916&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Accumulated depreciation&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(33,487,748)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(34,441,052)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"/&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;11,861,793&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;12,473,864&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"/&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2021&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Other Accrued Expenses:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Profit sharing plan contribution&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;170,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;145,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Property taxes&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;41,497&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;80,269&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;All other items &lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;116,464&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;141,149&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"/&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;327,961&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;366,418&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2021&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Allowance for Doubtful Accounts:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Balance at beginning of year&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ 170,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ 170,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Charges to statement of income&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(1,660)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Write-offs, net of recoveries&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(8,340)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Balance at end of year&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160;160,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ 170,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2021&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Inventory Valuation Reserves:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Balance at beginning of year&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160; 612,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160; 600,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Charges to statement of income&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;17,070&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;41,308&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Write-offs&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(8,070)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(29,308)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Balance at end of year&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160; 621,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;612,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:SupplementalBalanceSheetDisclosuresTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="Y22">&lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"/&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2021&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Inventories:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Raw materials&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;4,460,071&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;4,645,923&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Work in process&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;2,747,427&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;2,181,457&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Finished goods&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;2,534,732&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;2,304,400&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;9,742,230&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;9,131,780&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Valuation reserves&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(621,000)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(612,000)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"/&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;9,121,230&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;8,519,780&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterials contextRef="E22" decimals="INF" unitRef="USD">4460071</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials contextRef="E21" decimals="INF" unitRef="USD">4645923</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryWorkInProcess contextRef="E22" decimals="INF" unitRef="USD">2747427</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess contextRef="E21" decimals="INF" unitRef="USD">2181457</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryFinishedGoods contextRef="E22" decimals="INF" unitRef="USD">2534732</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods contextRef="E21" decimals="INF" unitRef="USD">2304400</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryValuationReserves contextRef="E22" decimals="INF" unitRef="USD">621000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves contextRef="E21" decimals="INF" unitRef="USD">612000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet contextRef="E22" decimals="INF" unitRef="USD">9121230</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="E21" decimals="INF" unitRef="USD">8519780</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="Y22">&lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"/&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2021&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:13.95pt"&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Property, Plant and Equipment, net:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Land and improvements&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;1,510,513&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;1,778,819&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Buildings and improvements&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;6,818,066&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;8,456,983&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Machinery and equipment&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;35,982,194&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;35,618,735&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Capitalized software and other&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;1,038,768&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;1,060,379&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:13pt Arial Narrow;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;45,349,541&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;46,914,916&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Accumulated depreciation&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(33,487,748)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(34,441,052)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"/&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;11,861,793&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;12,473,864&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:LandAndLandImprovements contextRef="E22" decimals="INF" unitRef="USD">1510513</us-gaap:LandAndLandImprovements>
    <us-gaap:LandAndLandImprovements contextRef="E21" decimals="INF" unitRef="USD">1778819</us-gaap:LandAndLandImprovements>
    <us-gaap:BuildingsAndImprovementsGross contextRef="E22" decimals="INF" unitRef="USD">6818066</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross contextRef="E21" decimals="INF" unitRef="USD">8456983</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="E22" decimals="INF" unitRef="USD">35982194</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="E21" decimals="INF" unitRef="USD">35618735</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentOther contextRef="E22" decimals="INF" unitRef="USD">1038768</us-gaap:PropertyPlantAndEquipmentOther>
    <us-gaap:PropertyPlantAndEquipmentOther contextRef="E21" decimals="INF" unitRef="USD">1060379</us-gaap:PropertyPlantAndEquipmentOther>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="E22" decimals="INF" unitRef="USD">33487748</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="E21" decimals="INF" unitRef="USD">34441052</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentOtherNet contextRef="E22" decimals="INF" unitRef="USD">11861793</us-gaap:PropertyPlantAndEquipmentOtherNet>
    <us-gaap:PropertyPlantAndEquipmentOtherNet contextRef="E21" decimals="INF" unitRef="USD">12473864</us-gaap:PropertyPlantAndEquipmentOtherNet>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock contextRef="Y22">&lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"/&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2021&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Other Accrued Expenses:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Profit sharing plan contribution&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;170,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;145,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Property taxes&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;41,497&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;80,269&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;All other items &lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;116,464&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;141,149&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"/&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;327,961&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;366,418&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:OtherEmployeeRelatedLiabilitiesCurrent contextRef="E22" decimals="INF" unitRef="USD">170000</us-gaap:OtherEmployeeRelatedLiabilitiesCurrent>
    <us-gaap:OtherEmployeeRelatedLiabilitiesCurrent contextRef="E21" decimals="INF" unitRef="USD">145000</us-gaap:OtherEmployeeRelatedLiabilitiesCurrent>
    <us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent contextRef="E22" decimals="INF" unitRef="USD">41497</us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent>
    <us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent contextRef="E21" decimals="INF" unitRef="USD">80269</us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="E22" decimals="INF" unitRef="USD">116464</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="E21" decimals="INF" unitRef="USD">141149</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E22" decimals="INF" unitRef="USD">327961</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E21" decimals="INF" unitRef="USD">366418</us-gaap:AccruedLiabilitiesCurrent>
    <srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock contextRef="Y22">&lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2021&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Allowance for Doubtful Accounts:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Balance at beginning of year&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ 170,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ 170,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Charges to statement of income&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(1,660)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Write-offs, net of recoveries&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(8,340)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Balance at end of year&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160;160,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ 170,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2021&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Inventory Valuation Reserves:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Balance at beginning of year&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160; 612,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160; 600,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Charges to statement of income&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;17,070&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;41,308&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Write-offs&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(8,070)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(29,308)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Balance at end of year&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160; 621,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;612,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="E21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"
      decimals="INF"
      unitRef="USD">170000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="E20_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"
      decimals="INF"
      unitRef="USD">170000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="Y22_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"
      decimals="INF"
      unitRef="USD">-1660</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="Y21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"
      decimals="INF"
      unitRef="USD">0</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Y22_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"
      decimals="INF"
      unitRef="USD">-8340</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Y21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"
      decimals="INF"
      unitRef="USD">0</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="E22_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"
      decimals="INF"
      unitRef="USD">160000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="E21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"
      decimals="INF"
      unitRef="USD">170000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="E21_ValuationAllowancesAndReservesType-InventoryValuationReserve"
      decimals="INF"
      unitRef="USD">612000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="E20_ValuationAllowancesAndReservesType-InventoryValuationReserve"
      decimals="INF"
      unitRef="USD">600000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="Y22_ValuationAllowancesAndReservesType-InventoryValuationReserve"
      decimals="INF"
      unitRef="USD">17070</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="Y21_ValuationAllowancesAndReservesType-InventoryValuationReserve"
      decimals="INF"
      unitRef="USD">41308</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Y22_ValuationAllowancesAndReservesType-InventoryValuationReserve"
      decimals="INF"
      unitRef="USD">-8070</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Y21_ValuationAllowancesAndReservesType-InventoryValuationReserve"
      decimals="INF"
      unitRef="USD">-29308</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="E22_ValuationAllowancesAndReservesType-InventoryValuationReserve"
      decimals="INF"
      unitRef="USD">621000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="E21_ValuationAllowancesAndReservesType-InventoryValuationReserve"
      decimals="INF"
      unitRef="USD">612000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="Y22">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font-family:Arial"&gt;&lt;b&gt;3&lt;/b&gt;&lt;b&gt; - &lt;/b&gt;&lt;b&gt;Income Taxes&#x2014;&lt;/b&gt;The provision for income tax expense consists of the following&lt;/span&gt;&lt;span style="font-family:Arial;color:#833C0B"&gt;:&lt;/span&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:151.9pt" valign="bottom"/&gt;
&lt;td style="background-color:#CEE7FF;width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;20&lt;/b&gt;&lt;b&gt;22&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2021&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:151.9pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Current:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:151.9pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Federal&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160;&#160;723,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;378,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:151.9pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;State&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;40,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;8,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:151.9pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Deferred&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;22,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(85,000)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;
&lt;td style="width:151.9pt" valign="top"/&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160;&#160;785,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160; 301,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The following is a reconciliation of the statutory federal income tax rate to the actual effective tax rate:&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td colspan="3" style="background-color:#CEE7FF;width:118.35pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td colspan="3" style="background-color:#CEE7FF;width:120.05pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2021&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;Amount&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;%&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;Amount&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Expected tax at U.S. statutory rate&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;color:#000000;text-align:right"&gt;&lt;b&gt;$ &#160;&#160;&#160;&#160;767,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:34.55pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;21.0&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160; 297,000&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:36.95pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;21.0&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Permanent differences&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(14,000)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:34.55pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(0.4)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(2,000)&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:36.95pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(0.1)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;State taxes, net of federal benefit&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;32,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:34.55pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;0.9&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;6,000&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:36.95pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;0.4&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Income tax expense&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160;&#160;785,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;21.5&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160; 301,000&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;21.3&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:12pt Arial Narrow;margin:0;color:#339966"&gt;&lt;span style="font-family:Arial;color:#000000"&gt;The deferred tax assets (liabilities) consist of the following:&lt;/span&gt;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr style="height:18pt"&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"/&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;20&lt;/b&gt;&lt;b&gt;22&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2021&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Depreciation and amortization&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;(1,216,451)&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;(1,196,119)&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Inventory&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;157,687&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;157,600&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Accrued vacation&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;71,923&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;74,037&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Allowance for doubtful accounts&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;38,250&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;38,250&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Other, net&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;507&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;148&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"/&gt;
&lt;td style="border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;(948,084)&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;(926,084)&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;Valuation allowances related to deferred taxes are recorded based on the &#x201c;more likely than not&#x201d; realization criteria. &#160;The Company reviews the need for a valuation allowance on a quarterly basis for each of its tax jurisdictions. &#160;A deferred tax valuation allowance was not required at December 31, 2022 or 2021.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="Y22">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:151.9pt" valign="bottom"/&gt;
&lt;td style="background-color:#CEE7FF;width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;20&lt;/b&gt;&lt;b&gt;22&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2021&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:151.9pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Current:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:151.9pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Federal&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160;&#160;723,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;378,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:151.9pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;State&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;40,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;8,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:151.9pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Deferred&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;22,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(85,000)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;
&lt;td style="width:151.9pt" valign="top"/&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160;&#160;785,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160; 301,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations contextRef="Y22" decimals="INF" unitRef="USD">723000</us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations contextRef="Y21" decimals="INF" unitRef="USD">378000</us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="Y22" decimals="INF" unitRef="USD">40000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="Y21" decimals="INF" unitRef="USD">8000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="Y22" decimals="INF" unitRef="USD">22000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="Y21" decimals="INF" unitRef="USD">-85000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y22" decimals="INF" unitRef="USD">785000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y21" decimals="INF" unitRef="USD">301000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="Y22">&lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td colspan="3" style="background-color:#CEE7FF;width:118.35pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td colspan="3" style="background-color:#CEE7FF;width:120.05pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2021&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;Amount&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;%&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;Amount&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Expected tax at U.S. statutory rate&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;color:#000000;text-align:right"&gt;&lt;b&gt;$ &#160;&#160;&#160;&#160;767,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:34.55pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;21.0&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160; 297,000&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:36.95pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;21.0&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Permanent differences&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(14,000)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:34.55pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(0.4)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(2,000)&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:36.95pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(0.1)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;State taxes, net of federal benefit&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;32,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:34.55pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;0.9&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;6,000&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:36.95pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;0.4&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Income tax expense&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160;&#160;785,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;21.5&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160; 301,000&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;21.3&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate contextRef="Y22" decimals="INF" unitRef="USD">767000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="Y22" decimals="INF" unitRef="Pure">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate contextRef="Y21" decimals="INF" unitRef="USD">297000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="Y21" decimals="INF" unitRef="Pure">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments contextRef="Y22" decimals="INF" unitRef="USD">-14000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="Y22" decimals="INF" unitRef="Pure">-0.004</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments contextRef="Y21" decimals="INF" unitRef="USD">-2000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="Y21" decimals="INF" unitRef="Pure">-0.001</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes contextRef="Y22" decimals="INF" unitRef="USD">32000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="Y22" decimals="INF" unitRef="Pure">0.009</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes contextRef="Y21" decimals="INF" unitRef="USD">6000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="Y21" decimals="INF" unitRef="Pure">0.004</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y22" decimals="INF" unitRef="USD">785000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="Y22" decimals="INF" unitRef="Pure">0.215</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y21" decimals="INF" unitRef="USD">301000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="Y21" decimals="INF" unitRef="Pure">0.213</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="Y22">&lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr style="height:18pt"&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"/&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;20&lt;/b&gt;&lt;b&gt;22&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2021&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Depreciation and amortization&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;(1,216,451)&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;(1,196,119)&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Inventory&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;157,687&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;157,600&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Accrued vacation&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;71,923&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;74,037&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Allowance for doubtful accounts&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;38,250&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;38,250&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Other, net&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;507&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;148&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"/&gt;
&lt;td style="border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;(948,084)&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;(926,084)&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment contextRef="E22" decimals="INF" unitRef="USD">1216451</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment contextRef="E21" decimals="INF" unitRef="USD">1196119</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxAssetsInventory contextRef="E22" decimals="INF" unitRef="USD">157687</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory contextRef="E21" decimals="INF" unitRef="USD">157600</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences contextRef="E22" decimals="INF" unitRef="USD">71923</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences contextRef="E21" decimals="INF" unitRef="USD">74037</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts contextRef="E22" decimals="INF" unitRef="USD">38250</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts contextRef="E21" decimals="INF" unitRef="USD">38250</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsOther contextRef="E22" decimals="INF" unitRef="USD">507</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther contextRef="E21" decimals="INF" unitRef="USD">148</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet contextRef="E22" decimals="INF" unitRef="USD">948084</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet contextRef="E21" decimals="INF" unitRef="USD">926084</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsValuationAllowance contextRef="E22" decimals="INF" unitRef="USD">0</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance contextRef="E21" decimals="INF" unitRef="USD">0</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock contextRef="Y22">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;4 - Profit Sharing Plan- &lt;/b&gt;The Company has a noncontributory profit sharing plan covering substantially all employees. &#160;Total expenses relating to the profit sharing plan amounted to $170,000 in 2022 and $145,000 in 2021.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount contextRef="Y22" decimals="INF" unitRef="USD">170000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount contextRef="Y21" decimals="INF" unitRef="USD">145000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:InterestAndOtherIncomeTextBlock contextRef="Y22">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;5 - Other Income- &lt;/b&gt;consists of the following:&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:159.15pt" valign="bottom"/&gt;
&lt;td style="background-color:#CEE7FF;width:63.65pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;20&lt;/b&gt;&lt;b&gt;22&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:68.55pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2021&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:14.4pt"&gt;
&lt;td style="width:159.15pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Interest income&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:63.65pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;55,333&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:68.55pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160; 19,797&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:159.15pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Other&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:63.65pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;36,100&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:68.55pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;35,760&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:159.15pt" valign="bottom"/&gt;
&lt;td style="width:63.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;91,433&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:68.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;55,557&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:InterestAndOtherIncomeTextBlock>
    <us-gaap:InterestAndOtherIncomeTableTextBlock contextRef="Y22">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:159.15pt" valign="bottom"/&gt;
&lt;td style="background-color:#CEE7FF;width:63.65pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;20&lt;/b&gt;&lt;b&gt;22&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:68.55pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2021&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:14.4pt"&gt;
&lt;td style="width:159.15pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Interest income&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:63.65pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;55,333&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:68.55pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160; 19,797&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:159.15pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Other&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:63.65pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;36,100&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:68.55pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;35,760&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:159.15pt" valign="bottom"/&gt;
&lt;td style="width:63.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;91,433&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:68.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;55,557&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:InterestAndOtherIncomeTableTextBlock>
    <us-gaap:InvestmentIncomeInterest contextRef="Y22" decimals="INF" unitRef="USD">55333</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest contextRef="Y21" decimals="INF" unitRef="USD">19797</us-gaap:InvestmentIncomeInterest>
    <us-gaap:OtherNonoperatingIncome contextRef="Y22" decimals="INF" unitRef="USD">36100</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingIncome contextRef="Y21" decimals="INF" unitRef="USD">35760</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="Y22" decimals="INF" unitRef="USD">91433</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="Y21" decimals="INF" unitRef="USD">55557</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:SegmentReportingDisclosureTextBlock contextRef="Y22">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;6 - Segment Information- &lt;/b&gt;The Company operates in the United States in two business segments as determined by its products. &#160;The fastener segment, which comprises H &amp;amp; L Tool and the parent company&#x2019;s fastener operations, includes rivets, cold-formed fasteners and parts and screw machine products. &#160;The assembly equipment segment includes automatic rivet setting machines and parts and tools for such machines. &#160;Information by segment is as follows:&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;margin-left:-3.6pt"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"/&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Fastener&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Assembly Equipment&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Other&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Consolidated&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&lt;b&gt;Year Ended December 31, 2022:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;color:#E36C0A"&gt;&lt;span style="color:#000000"&gt;Net Sales&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;30,291,547&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;3,354,486&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;33,646,033&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Depreciation&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,129,151&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;133,615&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;17,104&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,279,870&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment operating profit&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;505,751&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;413,995&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right"&gt;0 &lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;919,746&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Selling and administrative expenses&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(2,096,944)&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(2,096,944)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Gain on sale of property&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,738,394&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,738,394&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Other income&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;91,433&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;91,433&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Income before income taxes&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;3,652,629&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Capital expenditures&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;.&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;868,654&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;3,207&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;98,082&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;969,943&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment assets:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Accounts receivable, net&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,683,620&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;291,517&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,975,137&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Inventories, net&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;7,766,703&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,354,527&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;9,121,230&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Property, plant and equipment, net&#x2026;&#x2026;&#x2026;&#x2026;.&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;9,562,329&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,303,497&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;995,967&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;11,861,793&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Other assets&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;7,667,967&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;7,667,967&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;33,626,127&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Year Ended December 31, 2021:&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;color:#E36C0A"&gt;&lt;span style="color:#000000"&gt;Net Sales&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;29,831,388&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;4,143,170&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;33,974,558&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Depreciation&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,161,596&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;134,957&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;22,001&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,318,554&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment operating profit&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;2,384,486&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;997,048&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right"&gt;0 &lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;3,381,534&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Selling and administrative expenses&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(2,022,619)&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(2,022,619)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Other income&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;55,557&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;55,557&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Income before income taxes&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,414,472&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Capital expenditures&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;.&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;493,564&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;177,334&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;670,898&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment assets:&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Accounts receivable, net&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;5,302,257&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;345,727&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;5,647,984&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Inventories, net&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;7,214,050&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,305,730&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;8,519,780&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Property, plant and equipment, net&#x2026;&#x2026;&#x2026;&#x2026;.&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;9,782,324&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,433,905&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,257,635&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;12,473,864&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Other assets&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;5,124,630&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;5,124,630&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;31,766,258&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company does not allocate certain selling and administrative expenses for internal reporting, thus, no allocation was made for these expenses for segment disclosure purposes. &#160;Segment assets reported internally are limited to accounts receivable, inventory and long-lived assets. &#160;Certain long-lived assets of one plant location are allocated between the two segments based on estimated plant utilization, as this plant serves both fastener and assembly equipment activities. &#160;Other assets are not allocated to segments internally and to do so would be impracticable.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The following table presents revenue by segment, further disaggregated by end-market:&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;Fastener &#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;Assembly Equipment &#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;Consolidated &#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;&lt;b&gt;Year Ended December 31, &lt;/b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;b&gt;:&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:63pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Automotive&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;18,454,238&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;209,735&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;18,663,973&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Non-automotive&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:63pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;11,837,309&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;3,144,751&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;14,982,060&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Total net sales&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;30,291,547&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;3,354,486&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;33,646,033&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:63pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Year Ended December 31, 2021:&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Automotive&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:63pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;17,573,104&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;157,652&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;17,730,756&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Non-automotive&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt; 12,258,284&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt; 3,985,518&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt; 16,243,802&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Total net sales&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:63pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;29,831,388&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;4,143,170&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;33,974,558&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The following table presents revenue by segment, further disaggregated by location:&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;Fastener &#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;Assembly Equipment &#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;Consolidated &#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;&lt;b&gt;Year Ended December 31, 20&lt;/b&gt;&lt;b&gt;22&lt;/b&gt;&lt;b&gt;:&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;United States&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;24,955,181&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;3,202,729&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;28,157,910&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Foreign&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;5,336,366&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;151,757&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;5,488,123&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Total net sales&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;30,291,547&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;3,354,486&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;33,646,033&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Year Ended December 31, 2021:&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;United States&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;24,280,114&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;4,053,102&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;28,333,216&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Foreign&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;5,551,274&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;90,068&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;5,641,342&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Total net sales&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;29,831,388&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;4,143,170&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;33,974,558&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;Sales to one customer in the fastener segment accounted for 15% of consolidated revenues during 2022 and 13% in 2021. &#160;The accounts receivable balance for this customer accounted for 19% and 16% of consolidated accounts receivable as of December 31, 2022 and 2021, respectively. &#160;Sales to a second customer in the fastener segment accounted for 14% of consolidated revenues during 2022 and 11% in 2021. &#160;The accounts receivable balance for this customer accounted for 16% and 11% of consolidated accounts receivable as of December 31, 2022 and 2021, respectively. &#160;Sales to a third customer were 12% of consolidated revenue in 2021. The accounts receivable balance for this customer accounted for 18% of consolidated accounts receivable as of December 31, 2021.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock contextRef="Y22">&lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;margin-left:-3.6pt"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"/&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Fastener&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Assembly Equipment&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Other&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Consolidated&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&lt;b&gt;Year Ended December 31, 2022:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;color:#E36C0A"&gt;&lt;span style="color:#000000"&gt;Net Sales&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;30,291,547&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;3,354,486&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;33,646,033&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Depreciation&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,129,151&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;133,615&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;17,104&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,279,870&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment operating profit&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;505,751&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;413,995&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right"&gt;0 &lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;919,746&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Selling and administrative expenses&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(2,096,944)&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(2,096,944)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Gain on sale of property&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,738,394&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,738,394&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Other income&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;91,433&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;91,433&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Income before income taxes&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;3,652,629&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Capital expenditures&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;.&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;868,654&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;3,207&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;98,082&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;969,943&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment assets:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Accounts receivable, net&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,683,620&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;291,517&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,975,137&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Inventories, net&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;7,766,703&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,354,527&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;9,121,230&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Property, plant and equipment, net&#x2026;&#x2026;&#x2026;&#x2026;.&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;9,562,329&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,303,497&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;995,967&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;11,861,793&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Other assets&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;7,667,967&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;7,667,967&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;33,626,127&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Year Ended December 31, 2021:&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;color:#E36C0A"&gt;&lt;span style="color:#000000"&gt;Net Sales&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;29,831,388&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;4,143,170&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;33,974,558&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Depreciation&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,161,596&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;134,957&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;22,001&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,318,554&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment operating profit&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;2,384,486&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;997,048&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right"&gt;0 &lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;3,381,534&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Selling and administrative expenses&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(2,022,619)&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(2,022,619)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Other income&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;55,557&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;55,557&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Income before income taxes&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,414,472&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Capital expenditures&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;.&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;493,564&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;177,334&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;670,898&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment assets:&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Accounts receivable, net&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;5,302,257&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;345,727&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;5,647,984&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Inventories, net&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;7,214,050&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,305,730&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;8,519,780&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Property, plant and equipment, net&#x2026;&#x2026;&#x2026;&#x2026;.&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;9,782,324&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,433,905&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,257,635&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;12,473,864&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Other assets&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;5,124,630&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;5,124,630&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;31,766,258&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:Revenues
      contextRef="Y22_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">30291547</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Y22_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">3354486</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Y22_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">0</us-gaap:Revenues>
    <us-gaap:Depreciation
      contextRef="Y22_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">1129151</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Y22_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">133615</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Y22_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">17104</us-gaap:Depreciation>
    <fil:SegmentOperatingProfit
      contextRef="Y22_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">505751</fil:SegmentOperatingProfit>
    <fil:SegmentOperatingProfit
      contextRef="Y22_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">413995</fil:SegmentOperatingProfit>
    <fil:SegmentOperatingProfit
      contextRef="Y22_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">0</fil:SegmentOperatingProfit>
    <fil:SellingAndAdministrativeExpensesUnallocatedCorporate
      contextRef="Y22_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">0</fil:SellingAndAdministrativeExpensesUnallocatedCorporate>
    <fil:SellingAndAdministrativeExpensesUnallocatedCorporate
      contextRef="Y22_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">0</fil:SellingAndAdministrativeExpensesUnallocatedCorporate>
    <fil:SellingAndAdministrativeExpensesUnallocatedCorporate
      contextRef="Y22_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">-2096944</fil:SellingAndAdministrativeExpensesUnallocatedCorporate>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Y22_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">4738394</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:InterestAndOtherIncome
      contextRef="Y22_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">0</us-gaap:InterestAndOtherIncome>
    <us-gaap:InterestAndOtherIncome
      contextRef="Y22_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">0</us-gaap:InterestAndOtherIncome>
    <us-gaap:InterestAndOtherIncome
      contextRef="Y22_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">91433</us-gaap:InterestAndOtherIncome>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Y22_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">868654</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Y22_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">3207</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Y22_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">98082</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E22_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">4683620</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E22_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">291517</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E22_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">0</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="E22_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">7766703</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="E22_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">1354527</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="E22_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">0</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E22_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">9562329</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E22_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">1303497</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E22_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">995967</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OtherAssets
      contextRef="E22_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">0</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="E22_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">0</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="E22_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">7667967</us-gaap:OtherAssets>
    <us-gaap:Revenues
      contextRef="Y21_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">29831388</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Y21_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">4143170</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Y21_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">0</us-gaap:Revenues>
    <us-gaap:Depreciation
      contextRef="Y21_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">1161596</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Y21_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">134957</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Y21_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">22001</us-gaap:Depreciation>
    <fil:SegmentOperatingProfit
      contextRef="Y21_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">2384486</fil:SegmentOperatingProfit>
    <fil:SegmentOperatingProfit
      contextRef="Y21_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">997048</fil:SegmentOperatingProfit>
    <fil:SegmentOperatingProfit
      contextRef="Y21_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">0</fil:SegmentOperatingProfit>
    <fil:SellingAndAdministrativeExpensesUnallocatedCorporate
      contextRef="Y21_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">0</fil:SellingAndAdministrativeExpensesUnallocatedCorporate>
    <fil:SellingAndAdministrativeExpensesUnallocatedCorporate
      contextRef="Y21_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">0</fil:SellingAndAdministrativeExpensesUnallocatedCorporate>
    <fil:SellingAndAdministrativeExpensesUnallocatedCorporate
      contextRef="Y21_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">-2022619</fil:SellingAndAdministrativeExpensesUnallocatedCorporate>
    <us-gaap:InterestAndOtherIncome
      contextRef="Y21_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">0</us-gaap:InterestAndOtherIncome>
    <us-gaap:InterestAndOtherIncome
      contextRef="Y21_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">0</us-gaap:InterestAndOtherIncome>
    <us-gaap:InterestAndOtherIncome
      contextRef="Y21_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">55557</us-gaap:InterestAndOtherIncome>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Y21_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">493564</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Y21_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">0</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Y21_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">177334</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E21_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">5302257</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E21_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">345727</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E21_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">0</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="E21_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">7214050</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="E21_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">1305730</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="E21_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">0</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E21_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">9782324</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E21_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">1433905</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E21_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">1257635</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OtherAssets
      contextRef="E21_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">0</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="E21_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">0</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="E21_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">5124630</us-gaap:OtherAssets>
    <us-gaap:DisaggregationOfRevenueTableTextBlock contextRef="Y22_ProductOrService-EndMarket">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;Fastener &#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;Assembly Equipment &#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;Consolidated &#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;&lt;b&gt;Year Ended December 31, &lt;/b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;b&gt;:&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:63pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Automotive&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;18,454,238&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;209,735&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;18,663,973&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Non-automotive&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:63pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;11,837,309&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;3,144,751&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;14,982,060&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Total net sales&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;30,291,547&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;3,354,486&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;33,646,033&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:63pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Year Ended December 31, 2021:&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Automotive&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:63pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;17,573,104&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;157,652&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;17,730,756&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Non-automotive&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt; 12,258,284&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt; 3,985,518&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt; 16,243,802&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Total net sales&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:63pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;29,831,388&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;4,143,170&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;33,974,558&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-Automotive_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">18454238</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">209735</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-Automotive"
      decimals="INF"
      unitRef="USD">18663973</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-Nonautomotive_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">11837309</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">3144751</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-Nonautomotive"
      decimals="INF"
      unitRef="USD">14982060</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">30291547</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">3354486</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y22" decimals="INF" unitRef="USD">33646033</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-Automotive_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">17573104</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">157652</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-Automotive"
      decimals="INF"
      unitRef="USD">17730756</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-Nonautomotive_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">12258284</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">3985518</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-Nonautomotive"
      decimals="INF"
      unitRef="USD">16243802</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">29831388</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">4143170</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y21" decimals="INF" unitRef="USD">33974558</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:DisaggregationOfRevenueTableTextBlock contextRef="Y22_StGeo-Location">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;Fastener &#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;Assembly Equipment &#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;Consolidated &#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;&lt;b&gt;Year Ended December 31, 20&lt;/b&gt;&lt;b&gt;22&lt;/b&gt;&lt;b&gt;:&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;United States&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;24,955,181&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;3,202,729&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;28,157,910&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Foreign&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;5,336,366&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;151,757&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;5,488,123&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Total net sales&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;30,291,547&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;3,354,486&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;33,646,033&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Year Ended December 31, 2021:&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;United States&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;24,280,114&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;4,053,102&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;28,333,216&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Foreign&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;5,551,274&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;90,068&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;5,641,342&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Total net sales&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;29,831,388&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;4,143,170&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;33,974,558&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_StGeo-US_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">24955181</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_StGeo-US_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">3202729</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y22_StGeo-US" decimals="INF" unitRef="USD">28157910</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_StGeo-NonUs_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">5336366</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_StGeo-NonUs_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">151757</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y22_StGeo-NonUs" decimals="INF" unitRef="USD">5488123</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">30291547</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">3354486</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y22" decimals="INF" unitRef="USD">33646033</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_StGeo-US_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">24280114</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_StGeo-US_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">4053102</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y21_StGeo-US" decimals="INF" unitRef="USD">28333216</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_StGeo-NonUs_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">5551274</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_StGeo-NonUs_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">90068</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y21_StGeo-NonUs" decimals="INF" unitRef="USD">5641342</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">29831388</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">4143170</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y21" decimals="INF" unitRef="USD">33974558</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Y22_MajCust-TIGroupAutomotiveSystems"
      decimals="INF"
      unitRef="Pure">0.15</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Y21_MajCust-TIGroupAutomotiveSystems"
      decimals="INF"
      unitRef="Pure">0.13</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:AdditionalInformationAboutEntitysReportableSegments contextRef="Y22_MajCust-TIGroupAutomotiveSystems">19</us-gaap:AdditionalInformationAboutEntitysReportableSegments>
    <us-gaap:AdditionalInformationAboutEntitysReportableSegments contextRef="Y21_MajCust-TIGroupAutomotiveSystems">16</us-gaap:AdditionalInformationAboutEntitysReportableSegments>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Y22_MajCust-CooperStandardHoldingsInc"
      decimals="INF"
      unitRef="Pure">0.14</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Y21_MajCust-CooperStandardHoldingsInc"
      decimals="INF"
      unitRef="Pure">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:AdditionalInformationAboutEntitysReportableSegments contextRef="Y22_MajCust-CooperStandardHoldingsInc">16</us-gaap:AdditionalInformationAboutEntitysReportableSegments>
    <us-gaap:AdditionalInformationAboutEntitysReportableSegments contextRef="Y21_MajCust-CooperStandardHoldingsInc">11</us-gaap:AdditionalInformationAboutEntitysReportableSegments>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Y21_MajCust-ParkerHannifinCorporation"
      decimals="INF"
      unitRef="Pure">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:AdditionalInformationAboutEntitysReportableSegments contextRef="Y21_MajCust-ParkerHannifinCorporation">18</us-gaap:AdditionalInformationAboutEntitysReportableSegments>
    <us-gaap:AdditionalFinancialInformationDisclosureTextBlock contextRef="Y22">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;7 - Gain on Sale of Property - &lt;/b&gt; On August 12, 2022, the Company entered into a Purchase and Sale Agreement (the &#x201c;PSA&#x201d;) with Frontenac Properties LLC (the &#x201c;Purchaser&#x201d;) pursuant to which the Company agreed, subject to the terms and conditions of the PSA, to sell its facility in Naperville, Illinois, in which the Company&#x2019;s headquarters and warehouse space are located, to the Purchaser. &#160;On September 27, 2022, the Company&#x2019;s sale of the facility to the Purchaser was completed for a selling price of $5,350,000 in cash, less customary closing costs. The net gain on the transaction was $4,738,394. &#160;A portion of the net proceeds was invested in U.S. Treasury bills and is included in cash and cash equivalents as of December 31, 2022.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;Concurrently with the completion of the sale of the Naperville facility, the Company and the Purchaser entered into a lease agreement pursuant to which the Company leased the warehouse portion of the Naperville facility from the Purchaser until December 31, 2022 and the office portion until June 30, 2023. &#160;The monthly rent payable by the Company under the lease was $12,500 for the period from the closing until December 31, 2022 and will be $8,500 for the period from January 1, 2023 to June 30, 2023. &#160;The Company adopted the practical expedient for short-term leases under ASC 842 which allows for leases of 12 months or less to be expensed on a straight-line basis over the lease term without reporting on the balance sheet.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:AdditionalFinancialInformationDisclosureTextBlock>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="Y22">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;8 - Commitments and Contingencies- &lt;/b&gt;The Company recorded rent expense aggregating approximately $91,000 and $27,000 in 2022 and 2021, respectively. &#160;Total future minimum rentals at December 31, 2022 were $51,000.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company is, from time to time involved in litigation, including environmental claims, in the normal course of business. &#160;While it is not possible at this time to establish the ultimate amount of liability with respect to contingent liabilities, including those related to legal proceedings, management is of the opinion that the aggregate amount of any such liabilities, for which provision has not been made, will not have a material adverse effect on the Company's financial position.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:OperatingLeasesRentExpenseNet contextRef="Y22" decimals="INF" unitRef="USD">91000</us-gaap:OperatingLeasesRentExpenseNet>
    <us-gaap:OperatingLeasesRentExpenseNet contextRef="Y21" decimals="INF" unitRef="USD">27000</us-gaap:OperatingLeasesRentExpenseNet>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals contextRef="E22" decimals="INF" unitRef="USD">51000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals>
    <us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock contextRef="Y22">&lt;p style="font:10pt Arial;margin:0;color:#000000"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&lt;span style="font-family:Arial"&gt;&lt;b&gt;9 - COVID-19&lt;/b&gt;&lt;b&gt;-&lt;/b&gt;&lt;b&gt; &lt;/b&gt;In March 2020, the World Health Organization characterized the novel coronavirus (&#x201c;COVID-19&#x201d;) a pandemic and the President of the United States declared the COVID-19 outbreak a national emergency. &#160;The rapid spread of the virus and the response domestically and internationally to combat it had a significant negative impact on the global economy, including the automotive industry upon which we rely for sales. &#160;Beginning in March 2020, most states issued executive orders which temporarily closed businesses deemed non-essential in an effort to prevent the spread of the coronavirus. &#160;Similar measures also took place in foreign markets we serve. &#160;As a result, our operations and the operations of our customers and suppliers were adversely affected. &#160;While most shutdown orders were lifted later that year, various work-related restrictions remained in place for some time resulting in widespread economic disruption. &#160;As of the beginning of 2022, our operations had not returned to pre-pandemic levels and the pandemic continues to disrupt and have unpredictable impacts on our operations and the markets we serve, most notably in terms of labor shortages, supply chain disruptions and high inflation. &#160;These factors make the timing and sustainability of any broad economic recovery uncertain and will likely remain tied to the course of the pandemic. &#160;As we cannot predict the duration or scope of the COVID-19 pandemic, or its broader impact on the global economy, including the demand for automobiles, it is unknown what the impact of COVID-19 and its related effects will be on our business, results of operations or financial condition, but the impact could be material and last for an extended period of time.&lt;/span&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;color:#000000"&gt;&#160;&lt;/p&gt; </us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock>
    <us-gaap:ScheduleOfSubsequentEventsTextBlock contextRef="Y22">&lt;p style="font:10pt Arial;margin:0;color:#000000"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;color:#000000"&gt;&lt;b&gt;10 - Subsequent Events- &lt;/b&gt;On February 20, 2023, the Board of Directors declared a regular quarterly dividend of $0.22 per share, or $212,549, payable March 20, 2023 to shareholders of record on March 3, 2023.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;color:#000000"&gt;&#160;&lt;/p&gt; </us-gaap:ScheduleOfSubsequentEventsTextBlock>
    <us-gaap:DividendsPayableDateDeclaredDayMonthAndYear contextRef="Y22">2023-02-20</us-gaap:DividendsPayableDateDeclaredDayMonthAndYear>
    <us-gaap:DividendsPayableAmountPerShare contextRef="E22" decimals="INF" unitRef="UsdPerShare">0.22</us-gaap:DividendsPayableAmountPerShare>
    <us-gaap:DividendsPayableCurrent contextRef="E22" decimals="INF" unitRef="USD">212549</us-gaap:DividendsPayableCurrent>
    <us-gaap:DividendPayableDateToBePaidDayMonthAndYear contextRef="Y22">2023-03-20</us-gaap:DividendPayableDateToBePaidDayMonthAndYear>
    <us-gaap:DividendsPayableDateOfRecordDayMonthAndYear contextRef="Y22">2023-03-03</us-gaap:DividendsPayableDateOfRecordDayMonthAndYear>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>59
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M?!^2!F.,6_0T7X\48JVFL:W&VC$,>8!8\PRA9CC?AT6:&C/5BZPYC0IO0=5
MY3_;U UH]@TT')$%7C&9MC:CY$X*/-S^[PVPPL2.X>V+OP%02P,$%     @
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
M(1[WF]/=<=-]! 0KEJ1B2<IXM(OE1FN96W1M#!#ST=GZAW[_8BU=F+5(Y-4
M%HN1^DD.)K_^@EGPIX_<&P5K4*455=H7?7(CS!*)?([*BP\_-^F3R("[E_4V
MU+@,52SXITD8A&,<0,Z?#@FY=B2@C(_#RJZ!-:RPAOU8I;;I(DU@\AFD%NA6
MKI5)K0_I-A [1, X#H*@A=1C%X4-NP;2<85TW(OT.DG4!I*([F4B(:,/F83E
M\4D:@T0&I;!8-B6%,QC&(7RN'((S')4W0RAX9BW+BI6]^NB-'=@AC\:81BUZ
MKMV8A1&/.P:"5?18+[V[_ FFB-*I-$.42^\(,.?3'!-,:'L$7+MXC'D4=XQ
M5$&,>B%.M5R+=([N\D2M)/HB7J1W2D=NA@*.,6^A=,W"L -A7"&,>Q%^MDNI
MT?%2$[N?)C!)VT/MFM&0$<K\('D%DO>"_**LR$X R=UUA",64AJV8+J&F!-.
M*.^8DCBHE2DX,N+0K&C[.D13D"5;KJBBGJVAB["=TW07M $(QPQ'G+:0^RQ)
M&-&8=4$_$%5\0I:[L[MS;PPN981ATIX%/DL8"$;&<0?(6A/Q::+X*14/:9;:
MU+^@\)M*XUM%:W*NQ1'WJV-5QZ?BM2CB7L+423GC$:'C]M#X[ @[L&N"K%41
M]\LB@-0;:,>^0Q]MRFD_@\9,=XV/*WE%G:"D#=>U@\IX:->$6TLC[M?&;=W;
M@_[P CL,TP'5E2]*(L[:[8;/CK$0=TWY6N9PO\Y]S:70.:"\ER!X&[EME,HN
M&RCLV@\_=%?6H 6*L+->73L:D)!TE91:_G"__C4+][$UZ\H;AG:)A,X<]AC&
M41 'O -O+8:X7PUOY4("UJ9@=U=M5^UX& =Q6VU\=H0%7?T/KF41GZ*+Q]+J
M445&.27M[L)G"/,\/M"@YCZF%D42]!;MV5)HN5397&KS6RF'UMM0DEYM_=\;
MFC>*UB1=RRGIEU/H_7:3:695\F.(_E%0P#7Z)K*-'*)QL&VYR]P8=+VQ2VAE
M_Y7S"S#,)?J\L<;"2D_S1V^J7(EM][2])DU2!UO27JF#G?=JI?(]HS-\#@P.
M2(7EQJ&#%AYB&@\#SO8O[XR!XCM$G#%X1?:/CS$GGEZ)PN)G;?['#9M9J 69
M'!'D^3PMSG-@\4VAO7^7YK!Q7:>P&+V 7<D-PP@[3>EQNR;<6II)OS3?2RO2
M0D ^@(Y 5OUG":[24M!9D# GKQY+3(-"OCN0UJI,^E7YBY;";/3K?H+A" \Y
M"_<S0UB4*..MQ<15WW>4$Q+PN W_!,LF_%JI2;]2;^OQR=7.I[H\9I$+V:/C
M,6><LHZVC=0*34Y1Z ,)V;9NIU*(G#.6CBV!S]*_)1@=G L6A[)_"_V8Y@9E
M<@&NP7D$,?3VG'-[8]6Z/"I\4!9:HO)R*05 +PS@_4(IN[\I3A^KT^;)?U!+
M P04    " ")@7U6'-ET [<"   T"0  &    'AL+W=O<FMS:&5E=',O<VAE
M970S+GAM;*V676^;,!2&_XK%IEUUY2N0I"-(;:IIO9@6-5IW[<))L&IL9IND
MVZ^?;2@*"4V::KD(/N:<U\]K&TRRY>))%@ */9>4R9E3*%5=N:[,"BBQO.05
M,'UGQ46)E0[%VI65 )S;HI*Z@>?%;HD)<]+$]BU$FO!:4<)@(9"LRQ*+/S=
M^7;F^,Y+QSU9%\ITN&E2X34L0?VL%D)';J>2DQ*8))PA :N9<^U?S:<FWR8\
M$-C*G38R3AXY?S+!73YS/ ,$%#)E%+"^;& .E!HAC?&[U72Z(4WA;OM%_:OU
MKKT\8@ES3G^17!4S9^*@'%:XINJ>;[]!ZR<R>AFGTOZC;9,;C1V4U5+QLBW6
M!"5AS14_M_.P4^"/7BD(VH+@K05A6Q!:HPV9M76+%4X3P;=(F&RM9AIV;FRU
M=D.86<6E$OHNT74JG7,F.24Y5I"C&TPQRP MC9Q$G]$""V"J $4R3'7\$;E(
M%KI3)J[2HQL--VM'NFE&"EX9Z1:R2Q3Z%RCP@F"@?/[V<K]?[FK/G?&@,QY8
MO?!\XT/>&K'1L)AYU*YDA3.8.?I9DB VX*2?/OBQ]V7(Z7\2Z_D..]_A,?5T
MH1\3$$*;7BJ>/5V8-49<Z,C.Q .F-: %Z ZSSD-3T>A'5M^\)#:IE[B;77_'
M,GK0HPYZ=!ZTA9/HNE8%%^0OY$.@C6:\@Q%YYK='>S*MAQQUR-&[D'_42BK,
M<L+60\S1 <P^[K&,'FG<D<9'2>>\+/4+];W;(3Y8;'^/^%A&CWC<$8_/('[3
M7A@?S-K(&]H,I_-ZQ)..>'(V\06ZD[(>QIT<8/A^./&F\1[NZ;P>[K3#G;X#
M]\36G1ZP3./8#X,]Y)-I#;&[<Z:9[XGO6*P)DXC"2A=ZEV.]GT1S1C>!XI4]
MYAZYTH>F;1;ZLP:$2=#W5YRKE\"<G-V'4OH/4$L#!!0    ( (F!?58IZ7AH
M>00  %@1   8    >&PO=V]R:W-H965T<R]S:&5E=#0N>&ULK9AM;]LV$,>_
M"J$-0PNLED@]9[: V&F[ON@6U.WVFK%HFZ@D>B1MI]]^I*1(ED0SV9"\B"7Y
M[O2[.Y)_TO,SX]_%GA )'LNB$@MG+^7AQG7%9D]*+&;L0"KUS9;Q$DMURW>N
M.'""\]JI+%SD>9%;8EHYV;Q^=L^S.3O*@E;DG@-Q+$O,?RQ)P<X+!SI/#[[0
MW5[J!VXV/^ =61/Y[7#/U9W;1<EI22I!604XV2Z<6WBS0K5#;?$7)6=Q<0UT
M*@^,?=<WG_*%XVDB4I"-U"&P^CB1%2D*'4EQ_-,&=;IW:L?+ZZ?H'^KD53(/
M6) 5*_ZFN=POG,0!.=GB8R&_L//OI$THU/$VK!#U?W!N;(/  9NCD*QLG15!
M2:OF$S^VA;AP@-$5!]0ZH+'#M3?XK8-?)]J0U6G=88FS.6=GP+6UBJ8OZMK4
MWBH;6NDVKB57WU+E)[,5JP0K:(XER<%:J@_5(RD VX)/U8:5!+P#W]9WX,W/
M;^>N5"_4;NZF#;YL@J,KP2$"GUDE]P*\KW*2#P.XBK3#14^X2V2->$<V,^##
M7P'R$#( K5[N#BTX?E<]OX[G_]_JF6K6A S,(?6TO1$'O"$+1\U+0?B).-DO
M/\'(^\V4[RL%&V0?=-D'MNC9'VJ56>.""%.6C6M8N^JUY)3Y?A1$GN_/W=-E
M!B;#- [",.D,!W1A1Q=:Z59,2-V(CXSE JQ9D9LPFQC1Q=M1FOA>#+T1IL$P
M#KTTB"(S9M1A1E;,CYP) >XYVU)I HPF[_43&/IH7,:IG:JV D1FO+C#BZTC
M_,\#X5C2:@?>-"/Z+7C_J#1$F+L>O^;8?J5@@[R3+N_$VI:U$A:=-:YR<)NK
MA9<*J0MQ(M;\DTD7@C1%H5YL!MV:VH70BV <F[N5=M2I?3 IW09*'/6LU&-?
M#2O5/_G#A)I.$-X%L9_X:3!BG1IZ9DKH]:+C63F_,HD+T(\M6TG;4(.9%P80
MQ2-,@YVUIO!"(J&5MN>\/DW;$(-Y&D80IM$8<VH(_3!)87@%$_68R(XI]X1;
M=*=UOWQS"H/)>FPP"]7?M2KV4@FM6I2UVXDE47M/\K2Y^(H?KW3=G]8S"E&$
MTC'NU! &, CB*PL?[-4-VN5--?M$Z^VJ(GX>.)APQ$GH>6,=,=CY'KRT&^+V
M<@?M>J?5V-+\<"*S*(EB0SVGAA!"_WH]>Z&#D55*[M7H7.^Q:K[>J1HAK5+Y
M7^7CM:(-T^V%$UKU*5MB03>@4EVAS=!1JP@0.G]CZDVP^+(_LW2RQDVMX.SJ
MRM%K';2+W1TMCGH'^V+8Y$6P4RL+;"]QT*YQ=5V-5%.A2J,(^FC,]:S=\&C2
MJQJRJUI;1A,;FHJ3D>UYNR%;KV'(KF$K+/;@CIYH3BJU'58'H4(U-P?=I#12
MPTD'O5F2C)F?L6J(W8LS:DGXKCZZ"[!AQTHVY[_N:??SP&U]*!X]7\*;57/(
M[\,TOSE\QGQ'*P$*LE4AO5FL%C'>'..;&\D.]4GX@4EUKJXO]P3GA&L#]?V6
M,?ETHU_0_9B2_0M02P,$%     @ B8%]5MS+<7>$!   KQP  !@   !X;"]W
M;W)K<VAE971S+W-H965T-2YX;6RM6=MRHS@0_145.[67JDE 7(3)VJZ:V,#.
MPVZEDIW=9\7(-A5 'B''D[\?@0DQ("NFHI=P<9_34I^6Z+2F!\J>RBTA'/S(
MLZ*<&5O.=S>F6:ZV),?E-=V10ORRIBS'7#RRC5GN&,%)#<HST[8L9.8X+8SY
MM'YWQ^93NN=96I [!LI]GF/V<DLR>I@9T'A]<9]NMKQZ8<ZG.[PA#X1_V]TQ
M\62V+$F:DZ),:0$86<^,+_ FAFX%J"W^2\FA/+D'U50>*7VJ'KXF,\.J1D0R
MLN(5!1:79[(@658QB7%\;TB-UF<%/+U_98_JR8O)/.*2+&CV?YKP[<R8&" A
M:[S/^#T]_$6:"7D5WXIF9?T7'(ZVGC!>[4M.\P8L1I"GQ?&*?S2!. % YPS
M;@!V'X#. )P&X%SJP6T ;@]@^V< 7@/P^A[.31HU -0'>&< ?@/P:[&.T:VE
M66*.YU-&#X!5UH*MNJGUK=%"D;2H4O&!,_%K*G!\OJ!%2;,TP9PDX(&+B\@S
M7@*Z!@];S,B69@EAY6\@_+Y/^0NX M\>EN#W3W],32[<5R3FJG%U>W1EGW'U
M+^4XD\ 6:MB=R$W"6#T\NGJ2$"S5! N:YR+ISZ%#-?I+DJ35HL$9N,-I<I46
M8(%WJ7PJD9KKGG"Q.8B9A)@5:;$I)13Q.T$4^TVY9R^RZ9A"^S8![#8![)K0
M/4-X2S9I40T&W.(,%RL", =+LKH&#OP,;,NV9$H?.;V:L]KMGN?VQ+>0-0FF
MYO.IMD-#JVNQ'%I Z$RL '7MPJ&=Z_K0<;MFT=#,@99K!Y[?-8R'AE=.8-M6
M,&D-.P%UVH ZRH">IMMQ#947A53)6GV1;LH=7I&9(3XY)6'/Q)C_^@M$UI^R
M):63;'DD0R>1"A""CMT32*?/2"=9K(FLDPYNFPZN,AVZ"W9,0BAYQR:$3K*E
M3K)0)UFDDRQV!WD/?1@@5[X_>&U">,J$^$?4EU^+%<V)3'1OZ%-LAZ[?6VP+
MI8^Q>NHD"W6211>&(];DM",H:@5%2D&7Z7.:D"(IJR6=B>6=R(1%@YE<33P+
M]C]S"Z6OL<+J) MUDD47AB/6Y+0CK-\*ZRN%#8M$41=!F<J^I"X*4. @KR>S
M/YA_ORX:4LGKHB&3M"X:FCG0L9#M.+V(#_VJZZ))&\W)1^LB:4@G%U4?"Z7S
ML>OF,I^A3I^13K)8$UE'Z* 5.OAXQ2.56LD[MN+12;;421;J)(MTDL7!J(H'
M6F]-!NL#-4\#[NZ:R$=V_Y])M9>QFFIE"[6R10T;>B\DL2ZW76%/ND=00^W3
MD+Q?_*B]C198)UNHE2VZ-"2Q+K==@=^Z0U#='E+70+94;4D+1E0/R#^I(!JY
MW^\.24SD99#$4%H'R4;G.+:#T"#R8SM$\*U%!#_<(Y*']K)6S$+M?O0ZNK !
MI-5KI)4MUL76%?RM"00U=('DDFMM VEE6VIE"[6R15K98GAA+\@\.8FICO+^
MQFR3%B7(R%H K6M?[";L>#IV?.!T5Q_./%+.:5[?;@E."*L,Q.]K2OGK0W7>
MTYY1SG\"4$L#!!0    ( (F!?5;A0^B450(  -@%   8    >&PO=V]R:W-H
M965T<R]S:&5E=#8N>&ULK51-;]LP#/TKA#9LERVRG;0I,L= DW;8#@6"!MO.
MBLW$0F7)E92D_??5A^.E1=KMT$LD4GR/?'3(?*_TG:D1+3PT0IHIJ:UM)Y2:
MLL:&F8%J4;J7M=(-L\[4&VI:C:P*H$;0+$G.:<.X)$4>? M=Y&IK!9>XT&"V
M3</TXPR%VD])2@Z.6[ZIK7?0(F_9!I=H?[4+[2S:LU2\06FXDJ!Q/267Z60^
M\O$AX#?'O3FZ@U>R4NK.&S^K*4E\02BPM)Z!N6.'<Q3"$[DR[CM.TJ?TP./[
M@?U[T.ZTK)C!N1)_>&7K*;D@4.&:;86]5?L?V.DY\WRE$B;\PC[&CL<$RJVQ
MJNG KH*&RWBRAZX/1X#T_!5 U@&REX#1*X!A!Q@&H;&R(.N*65;D6NU!^VC'
MYB^A-P'MU'#IO^+2:O?*'<X6<R6-$KQB%BM86G>X3V0-J#4L:Z:Q5J)";3[#
M]?V6VT?X"@OGE;9&RTLFG/T1*!@?:G)J746>EY9=]EG,GKV2/<W@1CDR ]>R
MPNHY 752>CW90<\L>Y/Q"LL!#-,OD"59=J*@^?_#TS?*&?;M'0:^X?NT]U0'
M8X+1Z01^R">F925.B9MB@WJ'I/CT(3U/OIU2_TYDSWHQZGLQ>HN]F#-3PQ7?
M\0IE9<"U6K@.5+! '9MQ2GVD' =*OY%V13*XN,CI[EC5/X)BM?1H2!K4F[ [
M#)1J*VW\?_7>?CU=AJE\X9^YM16WS%^:N/-NF-YP:4#@VE$F@_$9 1WW2#2L
M:L,HKI1U@QVNM5N]J'V >U\K90^&3] O\^()4$L#!!0    ( (F!?5;2V,S>
M)08  #,:   8    >&PO=V]R:W-H965T<R]S:&5E=#<N>&ULK5EM;]LV$/XK
MA#<,+=#4(O6>)082)^T*M&N0+"OVD9'HF*LLNB3M)/OU.TJ*9$F4XA3^$DO*
MW?&YUX>43AZ$_*Z6C&GTN,IR=3I9:KT^GDY5LF0KJMZ+-<OA/PLA5U3#K;R?
MJK5D-"V45MF4.$XP75&>3V8GQ;,K.3L1&YWQG%U)I#:K%95/YRP3#Z<3/'E^
M<,WOE]H\F,Y.UO2>W3!]N[Z2<#>MK:1\Q7+%18XD6YQ.SO#QW"T4"HF_.7M0
M.]?(N'(GQ'=S\RD]G3@&$<M8HHT)"C];-F=99BP!CA^5T4F]IE'<O7ZV_J%P
M'IRYHXK-1?:-IWIY.HDF*&4+NLGTM7CX@U4.^<9>(C)5_$4/I6P83E"R45JL
M*F5 L.)Y^4L?JT#L*.!@0(%4"J2KX THN)6"6SA:(BO<NJ":SDZD>$#22(,U
M<U'$IM &;WANTGBC)?R7@YZ>S46N1,93JEF*;C3\0(ZT0F*!YE0MT0?(LT)'
MZ/;F KWY]>W)5,.B1G6:5 N<EPN0@04P05]$KI<*7>8I2]L&IH"VADR>(9^3
M48L7+'F/7/P.$8<0"Z#Y_NIX!(Y;1] M[+E#$6S"M)!BA;ZNF:2:Y_?HS)0H
MUYPI6]A*JY[=JNG>8[6F"3N=0'LJ)K=L,OOM%QPXO]M</I"Q5@"\.@#>F/79
MGS!L/N6)6#&;FZ6N7^B:F;*=D2@( Q*?3+>['O3E,,:N%Y):K@7.K\'YH]DY
M2_^%)BIK6@MTS1*1)SQCJ$%MGIN[(I&W"OJ YWMGT3]D%@]DK!6HH Y4,)K%
M"P9&$T[+X9JGZ&PEI.;_%0]LGI?F@MV$D3".0J>36(N<BR/?]^R)#6N\X2C>
M-Q^!H]ZBST+!L,J17C)T0R&O,+BN)+"<U$^%&Y<_-GQM\F_S(>QA._)"#SMQ
MT'&B+TBP'PRX$-4N1"^$?,&DA'JKZO O^F@OLJB_.M!T-]!]J:/(WQ5K@8QK
MD/'X>%O2_)ZI3D\HQ:"A3'P_<WK'L\'^B _9'P<RUHH#=AJF=$;3=98D8F/F
M" P1QK?T+F/O4,ZLA569VDU&$)+("SLYL\@=>9'GNP.EA7=X'8^B_91OH>B%
MA+P,H\3]U0,'>WZWM&R"KAL$7A0,X"0-3C**\RMTKD3S#31"KJO"LF(E?0A^
MY..XA[4OB(GKN$-(&Y['HRS:Y/^*/IGD6U&ZO<6]H->I%BE" H+Q ,2&B?$X
M%0-$N8&!\HV:EC7M"3.1RH'>K(QUQE]_L%CD2.B2H1)MJ!F/$EJ5^F?,EX]P
M-%$#2'U+_4&;]-JI+^>YN^7<1MIP(QXGQ]N<49D#R&L&7;5A16CGQ>X</ #J
M%(H/E&V?_HX,2?:0]^5\$I.AHFU8$H_3Y$]O;+"%&S$)O'B'N"OH-DG'B;W(
M'4#?$"2.7K6W-D--[0-^E'A?2SN'LM8.0D/ >)37( AKKFE6-DC*]48..!U;
M2BV(8\_M)LPB&(1.%$?V?)&&(LDX1<+.*V$LK;+U<WLRTJ=$W_%@W'3'DD4P
MC(:V.Z0A3C).G&T?Y@":+W@"!^/B4%SUNA5XGR0QM$M_GEH$/2#]P:T::<B4
MC)/IU48F2ZI*J*^!;B%7['DV[!9)XL5D&'S#KV2<7^M1!1G8\A3&U=W3WAU/
M+,0+M$_B[J"U"&*71+$S<- D#?D2[U7#Z@//*9PU7X8^RNFO'5:'LM8.0L/I
M9)S3BR!<<)._/#5;)9Y:?;80.AQ6<._@M8=@&VG#Z62<TWO,N'>^+)1NQ_ZR
M8!M[P^KD95:'0Z-DT.OHS04KK]X:+PJ7BNV)N3"3=@LC.+?O3HCE7.LX$>Z=
M4RR"1[[KA&$XX$I#\60/BM\;[T%Y_5#6VIXWO$[&>?V<W?,\-_4&P_D?V&!:
M/>YS-8&S3'\79A/T@S!T!PX5;D/J[CBI7T)R1A"Z?1KV',_'#NX@M AV76DC
M;"C;':?LDC5@U*"%D"^^3:F,M5XUDA '8?>5I$70=1R_QW33G=?O<!ZX+[Y*
M*%2<%LO7VO73^LO'6?&^O_/\'!_/R^\7C9GR<\H7*J%8%,K8 DPZ[T, )<LO
M%.6-%NOB)?^=T' H*2Z7C*9,&@'X_T((_7QC%JB_$\W^!U!+ P04    " ")
M@7U6&,D+VM@'  "6$P  &    'AL+W=O<FMS:&5E=',O<VAE970X+GAM;+58
MVVXC-Q)]GZ\@%&RP"\BZV4XFXPM@>V:P!C(38SQ)GJGNDL0,F^R0;,G:K]]3
MQ>YV>R([0;#[(O6%K#I5=>J0[/.=#U_BABBIA\JZ>#':I%2_F4YCL:%*QXFO
MR>'-RH=*)]R&]336@70IDRH[7<QFWTTK;=SH\ER>W87+<]\D:QS=!16;JM)A
M?TW6[RY&\U'WX)-9;Q(_F%Z>UWI-]Y1^KN\"[J:]E=)4Y*+Q3@5:78RNYF^N
M3WB\#/C%T"X.KA5'LO3^"]_<EA>C&0,B2T5B"QI_6[HA:]D08/S>VASU+GGB
M\+JS_EYB1RQ+'>G&VU]-F387H]<C5=)*-S9]\KM_4QO/*=LKO(WRJW9Y[.D/
M(U4T,?FJG0P$E7'Y7S^T>1A,>#U[9L*BG; 0W-F1H'RKD[X\#WZG H^&-;Z0
M4&4VP!G'1;E/ 6\-YJ7+N3I2'W5J BF_4M=-Q/L8E7:ENC=K9U:FT"ZIJZ+P
MC4O&K=6=MZ8P%,^G"?[9RK1H?5UG7XOG?"W4!^_2)JIWKJ3RJ8$I@/?H%QWZ
MZ\6+%M]2,5''\[%:S!:+%^P=]]DX%GO'S]C[Z-/AP/*TD\/3N''>Q%H7=#%"
M9T0*6QI=?OO-_+O9V0N@3GI0)R]9_Q^7Z$5?AR-1?Q_!@6E'ZJJ3 'Z<-J1N
M?%5KM__VF]>+^?=G4<6!4?UHM.Z,KKR%F,0WZBX85YC:XAE,W7@7,:34W.]'
MZA-MR36$_\+#7GYX$Z@T27TR\0MN=-Q(%'+Q[O?&;+4EEW)H-Q22H$C9_%NJ
M?33I2+W7)JA?M&TDKO?&:8#05MVZF$)3L8$CW,![\@%XCX 3*AK2?JSNK 0%
M\^RNYL%'KZYBA/S>P-':(ROO8C+0&RK5SY%6C54_FA6]^I$GF:H.?DOB@]-U
M/#M[Z6\R4?-3E;PZF:D]Z1!?73?&EDAF#O%Y<VH^>S+O@RXV*!_0\3SJL!_T
MJL3E_'4[]4;7)FEK_H. HE^EG08A"A^?B4 =\^S3=O)/X$?X$W\O_65K\S8,
M]?F1;5A2MJSQPL!"A[!GCFV[LM9]R>J^9#T,,#!P\D $N=UMR(%M +KMZ5.8
M4#153" '^&-<*4R"-YV><:FQ2 D3*KU7SB>U)( L4*"@EY;4*OA*IE)/D%4C
M[54P?U?<$XH>:BQX>(6PT<%8G/(\ UA-I!P'HVS V-)$X31:8P+&LAU@132P
MV0!QE-Z#L=[J'QUR-2W+ 2)S!R(;<UR#7%F/L29*9&A+9@7R"C  S!FHV*5:
M[@'#%)M#J:*'@JC,A5MQ+SYFD-,7)UQFH-KQC_,J!;->4V #;7T"5U(>\(P8
M!1CF#V#JMN<+JI8H;+?(2/YP,9^H7U'TCB:L2IR(0,E 813H 2DJQX(QD)5B
M,>=E/C2MJ9K\L"0(+>0C[U'$1(6*EX_51A4Y^=B\=&(8Q]D,2+S&OHN]259A
M85#1KY*,<443@D0*R.(0J?H  XE8PE"I0!Q_YB\V&["[I)1(,A(S=4LOU&R5
MXTE\F;R81 ^P6':48P6S4#")KMCHL,[L?$3!R8:0,[J2>5CXBM1G_4"B$//%
MV9.^U75M)=](*%#0AK>(@%+YDJQTIA"CEV6T8!*)Z[+!/L>J(AU!97XQ5H4%
M^"SV4@>@9_8CJ^WJU2 _(7&RDWY078JC=$UV%U#<F*CN%K6T\T=RCT1! >)X
MN-2!B."LK"PR=F!3(A@@Y58HB8M@'#/69/,[V6\*Z;?:6!$("%I) -JK35LS
M+'C@0N6Y4\T7LOO<JUS'7HYZ]SMC+2M/Q.83\3*9D9 &J^:8BV0;7CZ8E-XV
M,@$0>@;4-6D;A9"PML[9;!- 2(%AE=OW68L($ZGF-#U-3UN<Q^PL(; K(VW)
MCRRSB+LIJT6.L@U18CN=_:.+%?B6E#&WJU!3 Q6XFJR4?Z*N_J39GX+KJL$T
M;M,7,KLA-L\0!6E-V&L<0F@VWI=_!>6P"3K"RM(".-1*"PYKVHH<=35)C&F@
M X-L2N/E-O*ND\#<?3R*1=]%^EI.8P-9;M^Q]YPJE#S+XN<#&[H5E>AU.S0.
MI6R"BWV_+F;S'W 1?+/>B"49E5=M3FULEK]!!3D<>M#(ONZ:@V??<@X0>;_I
MN\?6U: 3_LD8%K.SVT_W<C4_^Q<KMT&WF+S0+H7[T7 #23DUL)5-/C1";BUJ
M [T.N8*M&#.,0SO7ES.-7FF29""O]@ U# ::I!U.PJ)5I4=RN4.Q^<"NM^:]
M@ZA?^1L:<R#(.X'8+O6H!CB&L8&5#V+KUM1AS4.$Z0/I1?H?I9*[T71-/8AO
MHCYZT=&&-66CH;9+PNJ7A;Z5"/?L?OY ^5?&\BXTTZ6US-.MJ;!9;*&Y@]:8
M*=*?L[X_7R*8Z!GH:EC('8A1I]SE\U.Q<BR_)YVMT_%@P;7[PWR6)>7_P^:M
M#L8WG0O=I W.$-+0PK\L?HG;G5<G.1:AV%Y*\%.1_$"_3I]*!O2QW0#8O+W$
M#H^WK$_]\\BGOO=YM_L8;-T$= SE;8(;$(/'_2$U;:4/L&:"8JR%[+<N?UZ2
M(]I'2MT>X [X[K%CH",^"C$_NK-1Y/-=05^=.H-WG@6X/8,=.GQ/!]]**L(J
MPE^$HA(;^;-)_[3_Z'25O[4\#L]?K#Y@$3(HNJ45ILXFWY^.5,A?@?)-\K5\
M>5GZE'PEEQO22#H/P/N5]ZF[80?]I[C+_P)02P,$%     @ B8%]5L^O>P11
M!   JPD  !@   !X;"]W;W)K<VAE971S+W-H965T.2YX;6R55MMNXS80?==7
M#-2@R +<F*)H75S;0&Z++M"T08)NGFF)MHF51"])Q4F_OD/*<;S;),T^R!Z2
M,V?FS POTZTV7^U:2@</;=/96;QV;C,9C6RUEJVP)WHC.UQ9:M,*AT.S&MF-
MD:(.1FTS8I1FHU:H+IY/P]RUF4]U[QK5R6L#MF];81[/9*.WLSB)GR9NU&KM
M_,1H/MV(E;R5[N_-M<'1:(]2JU9V5ND.C%S.XM-D<L:]?E#XHN36'LC@F2RT
M_NH'G^M93'U LI&5\P@"_^[EN6P:#X1A?-MAQGN7WO!0?D+_%+@CEX6P\EPW
M=ZIVZUE<Q%#+I>@;=Z.WO\L=G[''JW1CPR]L!UV6Q5#UUNEV9XP1M*H;_L7#
M+@\'!@5]Q8#M#%B(>W 4HKP03LRG1F_!>&U$\T*@&JPQ.-7YHMPZ@ZL*[=R<
MP4<X$XWH*@FWH0LNI!.JL=.10WBO-*IV4&<#%'L%*F%PI3NWMG#9U;+^'F"$
M<>V#8T_!G;$W$2]D=0)I0H!1QM[ 2_=DTX"7OH+WIW;R16*#&7_9S.^+B=V(
M2LYB;'PKS;V,Y[_^DF3TMS>"XON@^%OH/U>!-Z%>#A1>=1!A?F6[D&:?8_AQ
M)HD^=_>R<]HH:2?1C=AB\SEIE&@L' $G/*.$YDF0,SXF)4NC.]R'H#K8&%U)
M:X&1G.>$LQREI$@('^?1)]4I[-H:5EK77F6<<I*G#*64(BRE48EFC+"40DD2
MC"<O:/1%-+UPPX$0^%DXSEA"**4?4$I8D*(C;X+3WO@("C).RF#^'L+7!D\\
MXQX)7&/.'(BNALMOO=K@4>0(=-)-HC_\I/]4BR3OI5_R^4C0$\4O#7*>%Z1(
MRNBL5TVMNI7]KTF&"@6A689!\G%&RB*-KD2UQL*:QZ NGUQ#BMDM,(,E]V*&
M=GDZCL[%1CG1J'\PEU8OW588&0RU6R,M3$V*BEGA):Q5FI<1EBGE)1GS!#BZ
M3#A^671:57W;-UC=&H\U[)]*#9D^3E/"BQRK46".L4R<(]:8^30G"2DR9%H&
MQHSP/,4)_JY$_Q4"1+>F1Y>7#WC/6-]D6("E<F#7PF#28(-5@ H/%J,6?0@(
M/>74%]I+2 :E?=7 B0=L"HR0ESD4E+"LC$Z;9I<.Y61K,>H,&Y>C<4(27B*/
ME.6DS'P;IQFN)<6[&""NWH9]A;<C7.A^X99]XRGI'JL[B9ZVG7"PD"O5=9Z0
M7L*C%.9[&H,4G2/I%<;O-%B'I0B%1P/55;J5<)R0+,-.I]&=02H?]7)I0TMZ
M':P8]I7?J'!<8(6#WD$$TC?%L^_L1]\_<QH\PO-.O-GMQ/^EN]N>7J+OHIOD
M>+907\R4%@>4/3]<P&YDI5_Z\#K-W>%PX/VE(WMT<(&V$D/RSP0+H8S#7;J?
MW;]$3H<+^%E]>,9<(2/566CD$DWI23Z.P0Q/@V'@]"9<QPOM\'(/XAI?4])X
M!5Q?:KRE=@/O8/\^F_\+4$L#!!0    ( (F!?59A2S>0) 0  -8(   9
M>&PO=V]R:W-H965T<R]S:&5E=#$P+GAM;(U6VW+;-A!]UU?L,&G&GE%Y :F;
M+6E&MI.I'])ZXB1]ALBEA)H$9 "T['Y]%R!%RZWMZ8N(R^[9LP<+K.9[I>_,
M%M'"8UU)LPBVUN[.HLCD6ZRY"=4.)>V42M?<TE1O(K/3R OO5%<1B^-Q5',A
M@^7<K]WHY5PUMA(2;S28IJZY?KK 2NT701(<%KZ)S=:ZA6@YW_$-WJ+]L;O1
M-(MZE$+4*(U0$C26BV"5G%UDSMX;_!2X-T=C<)FLE;ISD^MB$<2.$%:86X?
MZ?. EUA5#HAHW'>801_2.1Z/#^A??.Z4RYH;O%35GZ*PVT4P#:# DC>5_:;V
MOV&7S\CAY:HR_A?VK6TR"2!OC%5UYTP,:B';+W_L=#ARF,9O.+#.@7G>;2#/
M\HI;OIQKM0?MK G-#7RJWIO(">D.Y=9JVA7D9Y<I_ K7,E<UPG?^B&8>64)U
M>U'>(5RT".P-A(3!5R7MUL!G66#Q$B B.CTG=N!TP=Y%O,(\A#09 HL9>P<O
M[7-,/5[Z!M[ORKZ>6.N6O>[FKL.9V?$<%P'5NT']@,'RTX=D')^_0RKK267O
MH?\OX=]%>)T?_!OWTX<I2]@YG U8#(PY39/!9:,U2GLV^((%:E[!1YBP=!C'
M,8W2R=2-!K>66X0L]LOMTA662)X% ?G5D^G(?4\'Y-\.G7^<^-'W+4*I*KKV
M0FY &.!TBW,E<U$)[J^D*L&2D:% C57Z"<J.CF@3L/P1M"-AE3>D*]S0+I8E
M^LO<&[CD#KFM:M5("[_ 83#X_+@C>V+MS+F%'^%M>!341Z $QA-/FR6ARX+-
MGJ>#&Z0'0))B4 @*3MKE:. DR7SV<!*'&?VR?I:<=NI9=P1#D/2Z4K*']-8H
ML106TE;%.)S!N!ME@^OGW)&(2^/)=>H2F]&1Q#1-O<[%X6!\BL:@)7HD\YJT
MM@+-*9#P1AA[T+P_F!=U<85427EW.EP6P&NEK?B[7?A(&0]9,AYFH^2TG26S
M\3!)9J?$^H'D<7(FH\EP/)VT7ZJ959[KAI@]\+R%F23#&4MA0N*ED\'*\>"D
M)U'24*AF;<NFHJ/.W>D92*=#-HJ[S^ /XJY;/4<QQ<BF5'HGLXS*<YIY3C,V
M;L<_>=5TB1Q"&"K BOM*4"\DHQVNT9>GIC?,O_,%D*N3RMT@%I^3$@B5N,/J
MB9:Y!*FLWTK.R9%7!Y5R+2QJP4-_,)>JWG%)188/KJ%X0(D$[K+E),I_2+JP
M'.X;K@F&8A$7NCO.''F^=><G2!9WSG\U6IA"^/9F0EB]K(+7H/?<.-K$YKX1
MSI!N [VV6*]1]R\N4"A7#2&\]LQ%1[VF1KWQ'=6 /ZVV[?2K?=->M;WJV;SM
M^%^YW@AIH,*27.-P,@I MUVTG5BU\YUKK2SU03_<TA\/U,Z ]DM%+WLW<0'Z
MOS++?P!02P,$%     @ B8%]5I5GC/WX 0  L00  !D   !X;"]W;W)K<VAE
M971S+W-H965T,3$N>&ULE91=;YLP%(;_BN5)NUICXM!VR@"I:3=M%ZU0HVW7
M#AS JC^8[93NW\\VA&52$FDWX&.?]_%[X-C9H,V+[0 <>I-"V1QWSO5K0FS5
M@61VH7M0?J711C+G0],2VQM@=11)06B2W!#)N,)%%N=*4V1Z[P174!ID]U(R
M\WL#0@\Y7N+#Q#-O.Q<F2)'UK(4MN.]]:7Q$9DK-)2C+M4(&FAS?+=>;-.3'
MA!\<!GLT1J&2G=8O(?A6YS@)AD! Y0*!^=<KW(,0 >1M_)J8>-XR"(_'!_J7
M6+NO9<<LW&OQD]>NR_%'C&IHV%ZX9SU\A:F>Z\"KM+#QB88QEZ8857OKM)S$
MWH'D:GRSM^D[' MNSPCH)*#1][A1=/G '"LRHP=D0K:GA4$L-:J].:["3]DZ
MXU>YU[DB15>H-+KA#FT[9KAJ42F8RHCS\)!"J@FT&4'T#&A)T:-6KK/HLZJA
M_A= O*O9&CU8V]"+Q >H%FBU_(!H0ND%WFHN=15YJS.\)^W GBILE*6G9>%4
MK&W/*LBQ;WL+YA5P\?[=\B;Y=,%4.IM*+]'_Y_M?!)VVB<[@K] IZ^2HC228
M-AX6BRJ]5V[LJ'EV/H]W8QO^31\/\R,S+5<6"6B\-%G<7F-DQ@,R!D[WL2EW
MVOD6C\/.WRE@0H)?;[3_6U,0-IAOJ>(/4$L#!!0    ( (F!?5:(6;19+0(
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
M>SCTB\VE10G4T0#TSYT+NQ=:8/_+R?E?4$L#!!0    ( (F!?5:O.A])7@,
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
M:3+[>(N1&4['$#C=QH[<:^?[.PX;?Z& "0E^O=+^7XU!V&"ZHO(_4$L#!!0
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
MMET0.G!L-C5%%+LG4D/A7RK-DW!,EUHSBVN58V"MH16]VCA30GU.V_H<2K#
M9TA7Q41>(#%*'ZL\F0<MQ^'SI-$U/^HT?;WKS^?04OZ;;-Y(JTS5;"$KO\8+
M5RCHD'^1_#R7.W<G)@S$4ID0@I]3;SK\-7],&>#'>@C1<<3%E,EC\^/]>>7C
MO7=QXMX;6U86%4-Q5"DZB<'KOG!-'>F>K!D/31NS_;0Q&QP7[FD5"N:FB">Z
M!XYEAK4<.%+JT3WXYKL_I4L&#]LN?R)6&GQTBQC<8S*C7M3_X,Q.]"D?A+T_
MQ$N&3_'P3LQ%VKPD]T]W_^3L[JGB0;C[ [ODN<.VE)Z< EM3&&[1!X]I_J7*
M7N"3SFEV3IA<^,S>B: B'FRW3]O_!:[B:?A^>?Q3X1,&'P6BT;2$Z'3\&G!M
M/*>/-]Z4X6Q\8;PW>;A<DT2A\P+\OC3&-S>\0?MOR>5?4$L#!!0    ( (F!
M?5:LKJ$LG0(  )L%   9    >&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM;'U4
M46_:,!!^YU=8636U4M8X3B"40:2RKEH?*E5E:Y]-<H!5QV:V*>V_W]F!C$V4
ME^3N?-_G[VS?C;?:O-@5@"-OC51V$JV<6X^2Q%8K:+B]U&M0N++0IN$.7;-,
M[-H KP.HD0FC=) T7*BH'(?8@RG'>N.D4/!@B-TT#3?O4Y!Z.XG2:!]X%,N5
M\X&D'*_Y$F;@?JT?#'I)QU*+!I056A$#BTETG8ZFN<\/"4\"MO; )KZ2N=8O
MWKFK)Q'U@D!"Y3P#Q]\K? ,I/1'*^+WCC+HM/?#0WK/?AMJQECFW\$W+9U&[
MU20:1J2&!=](]ZBW/V!73]_S55K:\"7;-C<?1*3:6*>;'1@5-$*U?_ZV.X<#
MP)!^ & [  NZVXV"RAON>#DV>DN,ST8V;X12 QK%">4O9>8,K@K$N9*1+V3*
M)5<5D%EX!3?@N)!V1.[4*RBGS3LY_\GG$NS%.'&XI0<FU8Y^VM*S#^A31NZU
M<BM+OJL:ZG\)$M3:"69[P5-VDO$&JDN2I3%AE+$3?%EW %G@RS[@:TM+9OC:
MZPU:QVIL&?+C#+YM1G;-*YA$V!<6S"M$Y>=/Z8!^/:$O[_3EI]C+[A:."3L)
M/2X,SP^:.9CN#,G_D;2WWU. '?4>^18?G ,CN+3DC.1Q/J Q+=)@#_)^?,6R
MWC/V'A&*K(VNP%K"XB(OXIP5:*7#-,[[1>]6*($OM29+K6N?TL_RN,@86AE%
M6DI[5PAC,<LHN8I3U%,,:>^)RPUW[1 (15AR/F!I3"F]0"MEP>J=>0B&/?B,
M#.-^>N7AY-@=) <-TX!9AK%@2:4WRK6]TT6[R7/=-MS?]'9LW7.S%,H2"0N$
MTLNB'Q'3CH+6<7H=VF^N'39S,%<X/<'X!%Q?:.WVCM^@F\?E'U!+ P04
M" ")@7U6G[^I ^4"   [!@  &0   'AL+W=O<FMS:&5E=',O<VAE970R,"YX
M;6Q]5=MNVS@0??=7$-JB:  VNE&R[-H&XJ3%+K !C&2W?::EL464$E62BI/]
M^AU2MC;;.GZ@-1S.G#F'E_'BH/1W4P-8\MS(UBR#VMIN'H:FK*'AYEIUT.+*
M3NF&6YSJ?6@Z#;SR28T,DRC*PX:+-E@MO&^C5PO56RE:V&AB^J;A^F4-4AV6
M01R<' ]B7UOG"%>+CN_A$>S?W4;C+!Q1*M% :X1JB8;=,KB)YVOFXGW 5P$'
M\\HF3LE6J>]N\D>U#")'""24UB%P_#S!+4CI@)#&CR-F,)9TB:_M$_H7KQVU
M;+F!6R6_B<K6RZ (2 4[WDO[H Z_PU%/YO!*)8W_)8<A-L\#4O;&JN:8C P:
MT0Y?_GS<AU<)1?1&0G),2#SOH9!G><<M7RVT.A#MHA'-&5ZJST9RHG6'\F@U
MK@K,LZN$?"1K+GE; GGTM^ .+!?2S,E&X]%K^T+)!M<MX6U%/O_H18=G8LF'
MO_A6@KE:A!9I.+"P/)9<#R63-TK&";E7K:T-^=Q64/T?($3^HXCD)&*=7$2\
M@_*:I#$E290D%_#2<5-2CY>^@3=("Q_Q!50]6N<T#@CL/()[2G/3\1*6 ;X5
M _H)@M7[W^(\^G2!'QOYL4OHJXLG<X[L1;CS9'%/H=F"'O>5_.R))Q=Y4-*"
MG4_^=$XW1--I]01NR9!W)*99'.%(O3V=%K2(9Y-U+V0EVKWY-27'@()&>4X*
MRK*<SHIT<L_+&L7H%Q\.X^5,,UQ.:#QCSLPQ;YIFDUO>"<NE^ <J8M3.'K@&
MGZALC;)B&J48F!?.RB.:3F<3EM&4S6C&8L*P9,QPY).;LNR;7G*+0!7@GI6"
M^Q[S(4TI*Z9TRHHKG##*&&)ER=4$1<:TR%'IS"M.*)NFZ&#DW'T(7SWH!O3>
MMRU#2M6W=GC;HW?LC#=#0_@O?&BK]USO16N(A!VF1M?3+"!Z:%7#Q*K.MX>M
MLMALO%EC=P?M G!]IY0]35R!\?]B]2]02P,$%     @ B8%]5B3\4(>" @
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
M,N^>UPQ!%'!7%.C*=A #2Z(1EI@)GE%&B2ONV2-9,U3GTT ;4A8ZR%H"\X9
M_ Z!*(8'P?56P1W/,?\;(#!J>DEQ)VD>GT2\Q<R')+J .(SC$WA)7Z+$X27O
MX#72@JXNZIC&!F%X',$VUD15),.99SI'H7Q!+_W\(1J'7T_P&_;\AJ?0T_]Y
ML&,:3MYR7(.ML"US-+@I1<TU?(+.&-SM*T,%<]"& M'PY*]\4)KH6@OY"M*2
M^@B7X\N+, PACOS0N/'UFSM8H&D[C@8MIT:71)ZA@K-H:$/.X2STA^8;]UYT
M/EAI"ZOMGWP!W,PT4Y,"<Y2$P1HY%E1#XC(@]*]AW%K#05LNRQ4-<:X<N:M1
MQV9DW"2,.C>!8P\7'/1AB7+CIHV"S%:D:<E^MQ]H-TT?OX4WT_"!R WE"A@6
M)C7T+T<>R&;"-(X6E>OJM=!F1CAS:X8R2AM@S@LA=.?8"_HQG_X!4$L#!!0
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
MIT_$^D"L!B!P8V @,!4<4TV^L+[5D#]IGH;U(9'2*F!]J&&I$0.")#0GG1H
M)1Z,]:&XS+#[6:LQ$0:B 3NB 3A<W"/S@T.*VI?[\M/0L)003[UY/ 0- []3
MB*AFCT'#PG)@" %^4:TQYP(I3;"QYE$X6 (G,<P@G%S X:'G/@FG)V #(QZ1
M@QD$G$C2<R3@X#G/T#;Y^&+N@X.UR1R<#V$B\P21^3@F@?<X2 QRS8&)Q5.P
M,.QV#'9"OB>-@./RIL2D07?=+B9[%\7&=XO^.AQ17QW#G7'W=G?C/ATNFE^F
M#]?U]ZY;5&U$M9_#4C+6LD#=< 4>!BFL^FOG54APB>W%I7>E[_($^#X/(6T'
MV<#N=XCIOU!+ P04    " ")@7U6AV.;Q'$#   -"0  &0   'AL+W=O<FMS
M:&5E=',O<VAE970R."YX;6RU5MN.VS80?=^O(-2B: %FQ9LHR;4-["5! C3%
M8C=IT4?:IFUA)=(AZ77R]QU27L5!O7HHDA>;0\V<.<,YU&AZL.[1;[4.Z'/7
M&C_+MB'L)GGNEUO=*7]I=]K D[5UG0I@NDWN=TZK50KJVIP1(O-.-2:;3]/>
MG9M/[3ZTC=%W#OE]URGWY5JW]C#+:/:\<=]LMB%NY//I3FWT@PX?=W<.K'Q
M636=-KZQ!CF]GF57='(MHW]R^*O1!W^R1K&2A;6/T7BWFF4D$M*M7H:(H.#O
M2=_HMHU 0./3$3,;4L; T_4S^IM4.]2R4%[?V/;O9A6VLZS*T$JOU;X-]_;P
M5A_K*2+>TK8^_:)#[RM)AI9['VQW# 8&76/Z?_7Y> XG =5+ >P8P!+O/E%B
M>:N"FD^=/2 7O0$M+E*I*1K(-28VY2$X>-I 7)A+] H]Z T<<T#O3-]D.*T)
MNFV\VFR<WB0;V36ZUT_:[#7Z]8-:M-K_-LT#$(@P^?*8[+I/QEY(1AEZ;TW8
M>O3:K/3J6X <F _TV3/]:S:*>*N7EXA3C!AA; 2/#\?!$YYX >\/NTSUGJMM
M-#)>GHG?J:6>97 [O'9/.IO_\A.5Y/<17F+@)49YO=B-<T1'H<X3?:-\T$8[
M=.6][A;M%_3ZT[[9)5G<6.-MVZQ4T*N+?[1R??<0G#VX0DQ__H@Q-+GX:!IP
M0P\!O#WZ&3&!ZZ+ M*)@< QMPB6KXX,*TZ+$-247<+W@\AA48,XEYE(B6E!<
M%B7LB K\&+_X8(-JD8&WE%=M0N8$LYKB0I0)F1<"G&5<<RR%Q(3S$;:,GN7*
M*H(I%6 (3 J.*6$]5PZHC,H3K@5P9*5 -<%$5K A!<5<L#-468TK2,NK*@%3
M < EZ:G6I0"H"HV(I!A$4HR*! I%[Y5[U.&<*D9C_Z=\Y<!,?C_YCD+],/DF
M]5[MX7UKXYR YM *"Q 5X[%KC-2XY$6_+67L&[_XTYI7ZFL(I=#F$G-2@QZI
M$"!ABBA<@(J!1,@/T?"WC$M<E%&T4<#Q=LF"]=LE9"H+^1_&#+.B M4+R%Y7
M(&I:(2HQ X56Y'M*.3\949UVFS2(/5K:O0G]M!IVAUE_U8^XK^[]AP)(?-,8
MCUJ]AE!R68*R73]\>R/871IX"QN@TK3<PO>*=M$!GJ^M#<]&3#!\ <W_!5!+
M P04    " ")@7U6S7;?6SL"  "1!0  &0   'AL+W=O<FMS:&5E=',O<VAE
M970R.2YX;6RM5%UOTS 4_2M60&B3H/ELNXTDTMJ"X&%2U6KP["8WB;7$#K;3
M#'X]_DA#-]J*!UYJ^_J><\]Q<V_<,_XD*@")GIN:BL2II&SO7%=D%3183%@+
M5-T4C#=8JB,O7=%RP+D!-;4;>-[,;3"A3AJ;V)JG,>MD32BL.1)=TV#^<P$U
MZQ/'=PZ!#2DKJ0-N&K>XA"W(QW;-U<D=67+2 !6$4<2A2)Q[_VX9Z7R3\(U
M+X[V2#O9,?:D#U_SQ/&T(*@ADYH!JV4/2ZAK3:1D_!@XG;&D!A[O#^R?C7?E
M98<%+%G]G>2R2IP;!^50X*Z6&]9_@<'/5/-EK!;F%_4V-U+)62<D:P:P4M 0
M:E?\/+S#$<"?G0$$ R!X#8C. ,(!$!JC5IFQM<(2IS%G/>(Z6['IC7D;@U9N
M"-7_XE9R=4L43J8K*(!SR-$&]D [4&O&2DI^J=#5"B0FM;A&']#C=H6NWE['
MKE1%-=3-A@(+6R X4\ /T .CLA+H$\TA?TG@*K6CY. @>1%<9%Q!-D&A_QX%
M7A"<$+3\=[A_04XXOF!H^,*S?.:13KV,!4:G@;H_[T2+,T@<U8 "^!Z<]-T;
M?^9]/.7J/Y&]\!B-'J-+[)>^DE.^+=G4D.DQLD]#+PBG\]C='SOZ.RV(;N:W
MMV.:U>H>?=T-\-(TO4 9ZZBT7\T8'>?*O6FG5_&%FC=V//RAL</J ?.24(%J
M*!2E-YDK4=P. 'N0K#4]M&-2=:395FIF M<)ZKY@3!X.NL XA=/?4$L#!!0
M   ( (F!?5;JRW4%50,  $X1   9    >&PO=V]R:W-H965T<R]S:&5E=#,P
M+GAM;+5876^;,!3]*Q:3IDVJ"G8^VR61FJ33*C5:U*K;LP,WP2I@9INFF?;C
M9T,"J=28!HF7@(WON<<G%Q^;T9:+9QD"*/0:1XD<.Z%2Z;7K2C^$F,I+GD*B
MGZRYB*G23;%Q92J !GE0'+G$\_IN3%GB3$9YWU),1CQ3$4M@*9#,XIB*W10B
MOAT[V#ET/+!-J$R'.QFE= ./H)[2I= MMT0)6 R)9#Q! M9CYP9?3PDQ ?F(
M7PRV\N@>F:FL.'\VC;M@['B&$43@*P-!]>4%9A!%!DGS^+,'=<J<)O#X_H#^
M/9^\GLR*2ICQZ#<+5#AVA@X*8$VS2#WP[0_83ZAG\'P>R?P7;8NQO8&#_$PJ
M'N^#-8.8)<65ONZ%. K _1,!9!^0"^$6B7*6<ZKH9"3X%@DS6J.9FWRJ>;0F
MQQ+SKSPJH9\R':<FMU(Q/3<(T).$=1:A>RV21*L=NI%2%\5,/]MPL4-?YJ H
MB^37D:MT7A/M^OL<TR('.9$#$[3@B0HENDT""-X"N)IPR9H<6$^)%7$._B7J
MX M$/$(L>)U2A4Z.USV!=T^3 -W%J> OH$M.2?0/+5C"XBQ^;[I6,/,>7<N4
M^C!V](LB0;R ,_G\"?>];Q:JW9)JUTIU*?0;*=3N BTCFBADF-_^R5AJ>%]4
M_^(:WF-NQ\8]M ,JI(5FKZ39.U]1^GI*42M80T7[)=5^BXK:L;M>K:*#DN;
M"C7-6!2P9'-&G5H!&ZHZ+.D.6U35CHWK5;TJ:5XU4_5TK5H!&ZJ*O6J]]EK4
MM0;\ ^6*CYP%6\$6U ]UE_:.-QSM)6O';*HNJ3B3-M6U@]>OKK@R+&QW+(NX
MIRO7CME4W,JY<)O650..A_7J5N:%[>[UR-=J2P7D%,O&'%[T+K;0><9EW>IK
MS]%4[<K5<)NV5@/>J1>[\C5L-[8SQ+:4=AM>ARNSPVVZ70WX!]:-RNZPW>]^
MJA"$WM6G3-&(_=7[_@/U]YC7%'@;3D@J)R1M.F$->'V!D\H(B=T(S]?\=)W;
M4S75O/)'TJ8_UH#;MG7NT1$W!K')#_(2^3Q+5'':+7O+CP4WQ1&Y&EY\:5A0
ML6&)1!&L=:AW.=#KM"@.[T5#\30_,*^XTL?O_#8$&H P _3S->?JT# )RD\H
MD_]02P,$%     @ B8%]5G("2XM? @  2P8  !D   !X;"]W;W)K<VAE971S
M+W-H965T,S$N>&ULK57;CILP$/T5BU;5KM2&2RY;I8"T25JU4E>*-DW[[,
MUAJ;VD[(]NMK&T*3%:1]Z OX,N?,.8,]A#473[( 4.A84B8CIU"JFKNN3 HH
ML1SQ"IC>R;@HL=)3D;NR$H!3"RJI&WC>S"TQ84X<VK6UB$.^5Y0P6 LD]V6)
MQ?,"**\CQW=."X\D+Y19<..PPCEL0&VKM= SMV-)20E,$LZ0@"QR[OWY<FKB
M;<!W K4\&R/C9,?YDYE\22/',X* 0J(, ]:O RR!4D.D9?QL.9TNI0&>CT_L
MGZQW[66')2PY_4%2543.>P>ED.$]58^\_@RM'RLPX53:)ZJ;V+N)@Y*]5+QL
MP5I!25CSQL>V#F< ?S8 "%I \!(PE&'< L;6:*/,VEIAA>-0\!H)$ZW9S,#6
MQJ*U&\+,5]PHH7>)QJEXRQ(02G]M] T?T9I+8JHK$68IVC(!"<\9^06IW5X
M@XPHB6Y6H#%4WJ)W:+M9H9O7MZ&KM!Q#ZB9MZD63.AA([0?H@3-52/21I9!>
M$KC:1V<F.)E9!%<95Y",T-A_BP(O"'H$+?\=[E^1,^YJ.[9\XT$^6Z2^RC3
M23_0W-RYK' "D:.OI@1Q "=^\\J?>1_Z7/TGL@N/D\[CY!I[_)7@':%$/2/=
M4=# :>JK0$,[M;2FU1QB+W0/Y[:N15QHG79:IU>U#I[G/GW3O^J[%M'H<\_N
M90DBM^U*HH3OF6I.=;?:=<1[VPA>K"]TIVP:VQ^:ILT^8)$3?5\I9)K2&]UI
M/:)I7<U$\<K>_AU7NI?88:&[/0@3H/<SSM5I8A)T_X_X-U!+ P04    " ")
M@7U6ZRZITST"  ")!0  &0   'AL+W=O<FMS:&5E=',O<VAE970S,BYX;6RM
M5$V/TS 0_2N6D1!(T'QU Y0D4ML%+8>%:BO8LYM,$FL=.]A.L_Q[;"<-W55;
M.'!)/.-Y;^9-,I/T0CZH&D"CQX9QE>):ZW;A>2JOH2%J)EK@YJ84LB':F++R
M5"N!% [4,"_T_=AK".4X2YQO([-$=)I1#AN)5-<T1/Y: 1-]B@-\<-S1JM;6
MX65)2RK8@O[>;J2QO(FEH UP105'$LH4+X/%>F[C7< /"KTZ.B.K9"?$@S6^
M%"GV;4' (->6@9C7'M; F"4R9?P<.?&4T@*/SP?VSTZ[T;(C"M:"W=-"URE^
MCU$!)>F8OA/]#8QZKBQ?+IAR3]0/L7&(4=XI+9H1;"IH*!_>Y''LPQ$@B,\
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
M.Y%L;4KR*Y.JP)MAH5HP<!V@]I>,R<-$)VB:>OH'4$L#!!0    ( (F!?5;
MP\X10@,  *X*   9    >&PO=V]R:W-H965T<R]S:&5E=#,X+GAM;*U676^;
M,!3]*Q9;IU9J@X%\+T%:DD[K0Z4H6;=G!RX)*MB9[7STW\\VA(8$TE5='@(V
M]QS.N=C7=[!C_%FL "3:IPD50VLEY;IOVR)804I$@ZV!JB<1XRF1:LB7MEAS
M(*$!I8GM8MRV4Q)3RQ^8N2GW!VPCDYC"E".Q25/"7T:0L-W0<JS#Q"Q>KJ2>
ML/W!FBQA#O)I/>5J9!<L89P"%3&CB$,TM+XY_;%C ";B5PP[<72/M)4%8\]Z
M\! .+:P500*!U!1$7;8PAB313$K'GYS4*MZI@<?W!_;OQKPRLR "QBSY'8=R
M-;2Z%@HA(IM$SMCN!^2&6IHO8(DP_VB7QV(+!1LA69J#E8(TIMF5[/-$' &<
M=@W S0'N*:!9 _!R@&>,9LJ,K0F1Q!]PMD-<1RLV?6-R8]#*34SU9YQ+KI[&
M"B=]#]VA!QJP%-!/L@?11W.U4L)- HA%Z#Z*P.3Y* ;-B 0T@X#1($YB8K[&
M]00DB1-QH^B>YA-T_?EF8$NE3[_%#G(MHTR+6Z/%<=$CHW(ET#T-(2P3V,I8
MX<X]N!NY%QDG$#20Y]PB%[MNA:#QO\.="W*\(MF>X?-J^4R2JC*3 9O50+V7
M^V)- AA::K,*X%NP_"^?G#;^6N7J/Y&5/#8+C\U+[/[]?JV6#(1(JJ5")'IJ
MS!M(2"(WDO$7Q-7BJ?*?D;8,J2X]6[_3[F",!_;VV-EYF-LKA94TMPK-K8]J
MOD575;(SWNZ1'MS02Z4D^HV@DN1V(;E]4?(45 VC0"4*8[5).=  *A=6^RQC
M=T[S/+$586YM7CN%R,[[1=9D\C+3-6XT\55531F_"73.@"4SW<),]R+37.JZ
M)W61O$54';"J/D80 B<)6@"%*)95OKIGB?7<\_2?1[5KL]\K!/<^*KCF6V2\
MO=*"Q;C;*_].+%2#FM4>'/QZ/N&++O*#1^],4-N4BLKRD9.4ZD>W=9[GBC@/
M.[6I=HZ.4>>=,FMRF_/T3JI!ZU1H=9AWHM,^.OE3X$O3$ D4L V5V3%9S!9-
MUS?3:IS,CW0S9CJ*5YJLDWLD?!E3@1*(%"5N=%3R>-8<90/)UJ:_6#"INA5S
MNU(-)7 =H)Y'C,G#0+^@:%']OU!+ P04    " ")@7U65J>,^-D"  !*"
M&0   'AL+W=O<FMS:&5E=',O<VAE970S.2YX;6RMEFMOVC 4AO^*E4U3*[7-
M/:0,(K6@:94VK2KK]MDD)V#5L9GM0+M?/SM)(RZ&]L,^ +Z<]_5SG/B8T8:+
M)[D$4.BYHDR.G:52JZ'KRGP)%997? 5,SY1<5%CIKEBX<B4 %XVHHF[@>8E;
M8<*<;-2,W8MLQ&M%"8-[@61=55B\W +EF['C.Z\##V2Q5&; S48KO( 9J,?5
MO= ]MW<I2 5,$LZ0@'+LW/C#26KBFX!?!#9RJXU,)G/.GTSGKA@[G@$""KDR
M#EC_K&$"E!HCC?&G\W3Z)8UPN_WJ_J7)7><RQQ(FG/XFA5J.G=1!!92XINJ!
M;[Y"ET]L_').9?.--EVLYZ"\EHI7G5@35(2UO_BYVX<M@1\=$02=('BO(.P$
M89-H2]:D-<4*9R/!-TB8:.UF&LW>-&J=#6'F*<Z4T+-$ZU06HDMTQW)> ?J)
MGT$.T4R_*$5- ?$23:$$(: P<^A&2E 285:@;P3/"26*@$1G4U"84'FNG1YG
M4W3V\7SD*HUF%G#S#N.VQ0B.8$PAOT*A?X$"+P@L\LG[Y?ZNW-4;TN]*T.]*
MT/B%1_V:E&QYM,+(+C1G;BA7.(>QHP^5!+$&)_OTP4^\S[:L_I/93HYAGV-X
MREWGJ$US@MO3I!\JKKA0Y&\S8,N\M8L;.U,<UMFE'_A)%.L=7V]G90OTKQ/]
MZ0-WB*.>.#I)?,?6P!07+S:Z5IIL+>K'@R0=[+'9PSS/3A;W9/%)LIL\%[4^
M)FN<']V^^&#E@7\=A'M\EJC("P=VO*3'2T[C45VL,<L!Z;*/"E[/55E374)S
M7C-E?<V3 XXP#6)OC_:MJ!W:04\[.$G[0RU!7" &R@8V.%@R]O8?\F&,'Z5V
MJ+2'2M\X+6]60AMM>G@4KJ/42Z,]8EM<D&S'M=3N5J4WM^QW+!:$242AU$KO
M:J M1'MSM1W%5TWQGW.EKY*FN=27/0@3H.=+SM5KQ]PG_=^'[!]02P,$%
M  @ B8%]5G+-$A$3 @  [P0  !D   !X;"]W;W)K<VAE971S+W-H965T-# N
M>&ULK51M;],P$/XKED%HDZ#.2S=@))%8*[1]0%0K@\]N<FFL^2783E/^/;:3
M1IW43OO E]AGW_/</1??9;W23Z8!L&@ON#0Y;JQM;P@Q90."FIEJ0;J;6FE!
MK3/UEIA6 ZT"2'"21-$U$91)7&3A;*6+3'66,PDKC4PG!-5_;X&K/L<Q/AP\
ML&UC_0$ILI9N80WVL5UI9Y&)I6("I&%*(@UUCK_&-XO4^P>'7PQZ<[1'7LE&
MJ2=OW%<YCGQ"P*&TGH&Z90<+X-P3N33^C)QX"NF!Q_L#^[>@W6G94 ,+Q7^S
MRC8Y_H11!37MN'U0_1V,>JX\7ZFX"5_4#[[SSQB5G;%*C&"7@6!R6.E^K,,1
M()Z? 20C('DM(!T!H7)DR"S(6E)+BTRK'FGO[=C\)M0FH)T:)OU?7%OM;IG#
MV>*';4"C>UDJ >@GW:,E,R57IM-@T,42+&7<7*(/Z'&]1!=O+S-B752/)>48
MX7:(D)R)L(1RAM+X/4JB)#D!7[P>'C^'$Z=U$IQ,@I/ EY[E"Y).Z1B \]-
MWTXWIJ4EY-CUBP&] UR\>Q-?1U].J?I/9,\TII/&]"5VI[$&K:%"UOU0:@Q8
M@W:4=W3H'.Y:E\H23M5@(+X*Q'X"[(HH([MC82]Y#-F2H^?H1\%WJK=,&L2A
M=IAH]M&!]=!>@V%5&U[H1EGWWL.V<1,)M'=P][52]F#X1S_-N.(?4$L#!!0
M   ( (F!?5:F3AM,5@(  +,%   9    >&PO=V]R:W-H965T<R]S:&5E=#0Q
M+GAM;*U4VV[;, S]%<$;AA;HZDMN0^88R*7#]E @:-#M6;'I6*@NGJ0D[=^/
MDATO*9)@#_.#+5$\ASRTR'2O](NI "QY%5R:25!96X_#T.05"&KN50T23TJE
M!;6XU9O0U!IHX4&"ATD4#4-!F0RRU-N6.DO5UG(F8:F)V0I!]=L,N-I/@C@X
M&)[8IK+.$&9I33>P OM<+S7NPHZE8 *D84H2#>4DF,;C>=_Y>X>?#/;F:$V<
MDK52+V[SHY@$D4L(..36,5#\[& .G#LB3.-WRQET(1WP>'U@_^:UHY8U-3!7
M_!<K;#4)O@2D@))NN7U2^^_0ZADXOEQQX]]DW_B.HH#D6V.5:,&8@6"R^=+7
MM@Y'@'AX 9"T@.0]H'\!T&L!/2^TR<S+6E!+LU2K/='.&]G<PM?&HU$-D^XO
MKJS&4X8XFRVU*IDEJXIJ)C=DR:DD-PNPE'%S2SZ3Y]6"W'R\34.+P1PDS%OB
M64.<7"".$_*HI*T,>9 %%*<$(6;9I9H<4ITE5QD7D-^37GQ'DBA)SB0T_W=X
M?"6=7E>YGN?K7>3S13I7F0;8/P]T?3DV-<UA$F#C&= ["+)/'^)A]/6<JO]$
M=J*QWVGL7V-'C25:"C+'/ZG9>NL[S]V1._(@:J[>0),%,[D&=X)3X-1S*M16
MVG,5:L(.?%@W:'99/(KP2</=L?8S;OW!L5NC*CRZ_P+TQH\%0W(7O;E?G;6;
M/%/?<._L,YQ(S0#Y2].,LT>J-TP:PJ%$RNA^A$GI9D0T&ZMJWV5K9;%G_;+"
MJ0K:.>!YJ90];%R ;DYG?P!02P,$%     @ B8%]5FMR2HUZ @  R08  !D
M  !X;"]W;W)K<VAE971S+W-H965T-#(N>&ULK57;CMHP$/T5*ZVJ7:DE-Q(*
M#9$6:%4>5D6+MGTVR4"L3>S4-K#]^_H24BX![4-Y2#S.G#-GAO@DV3/^(@H
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
MAND=]-=<U7/+PJ'?]*Z.PEX4U-_J OIN]&?#F_U+Z?T+]0__ E!+ P04
M" ")@7U6N2/:-[(!  !4'   &@   'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR
M96QSS=D[;L) %(7AK2 O(,-]0$(44J6AC=B !<-# 6QY)@KL/@@*.%:*-&A.
M9<U8OOZK3];X[3/NZKQM#FFS;=/@N-\=TK3:Y-R^AI 6F[BOTU/3QL/YSJKI
M]G4^+[MU:.O%5[V.08?#<>CN9U3O;_<S!_-3&_\SL5FMMHOXT2R^]_&0_Q@<
M?IKN*VUBS-5@7G?KF*=5..YNVRE<+O)TGEP-9LMIU<V64H7200I!6C[((,C*
M!SD$>?F@$02-R@>-(6A</N@9@I[+![U T$OYH D$3<H'R1!E'!(D]; FT%J0
M:R'P6A!L(1!;D&PA,%L0;2%06Y!M(7!;$&XAD%N0;B&P6Q!O(=!;46\ET%M1
M;R706WL?VP1Z*^JM!'HKZJT$>BOJK01Z*^JM!'HKZJT$>BOJK01Z*^JM!'H;
MZFT$>AOJ;01Z&^IM!'I;[["$0&]#O8U ;T.]C4!O0[V-0&]#O8U ;T.]C4!O
M0[V-0&]'O9U ;T>]G4!O1[V=0&]'O9U ;^\==A/H[:BW$^CMJ+<3Z.VHMS]2
M[Y1/NYAN/=<UOO^15.?SL_'V^LORNMECYX)S@)^([[]02P,$%     @ B8%]
M5F7AF;6W 0  91P  !,   !;0V]N=&5N=%]4>7!E<UTN>&ULS=G);L(P% 70
M7T'9(F(\E X"-FVW+8O^@)L\2$026[:A\/=UPB"UHJB(2KV;1(GM=U]LZ6PR
M?MM:\KU-735^DA0AV ?&?%90K7UJ+#5Q9&Y<K4-\= MF=;;4"V)B.!RQS#2!
MFC (;8UD.GZBN5Y5H?>\B:]]:9I)XJCR2>]Q-['-FB3:VJK,=(CC;-WDWU(&
M^X0TKNSF^**TOA\G).QD0COR<\!^W>N:G"MSZLVT"R^ZCK/8IF(^;"ORZ?D2
M)WHT\WF946ZR51V7I-XZTKDOB$)=I;NB_?/)(>XP[:[\ZORNS+G .'/FC/7Q
MQ!Q='G<XDG;UP,9"Y$)Y_A./B;'TU=]'[6GGE/\R.V[OAW'+[CP\ZV[7[_'7
M,S[6O[ / =*'!.E#@?1Q ]+'"*2/6Y ^[D#ZN ?I@P]1&D$1E:.0RE%,Y2BH
M<A15.0JK',55C@(K1Y%5H,@J4&05*+(*%%D%BJP"15:!(JM D56@R"I09)4H
MLDH4626*K!)%5HDBJT215:+(*E%DE2BR2A19%8JL"D56A2*K0I%5H<BJ4&15
M*+*J_Y3UW9CE7__X:N]IK<OFD,^ZOXO33U!+ 0(4 Q0    ( (F!?58'04UB
M@0   +$    0              "  0    !D;V-0<F]P<R]A<' N>&UL4$L!
M A0#%     @ B8%]5K(_ZF/M    *P(  !$              ( !KP   &1O
M8U!R;W!S+V-O<F4N>&UL4$L! A0#%     @ B8%]5IE<G",0!@  G"<  !,
M             ( !RP$  'AL+W1H96UE+W1H96UE,2YX;6Q02P$"% ,4
M" ")@7U6.?M<[60'  "2,   &               @($,"   >&PO=V]R:W-H
M965T<R]S:&5E=#$N>&UL4$L! A0#%     @ B8%]5FN_###!!0  >18  !@
M             ("!I@\  'AL+W=O<FMS:&5E=',O<VAE970R+GAM;%!+ 0(4
M Q0    ( (F!?58<V70#MP(  #0)   8              " @9T5  !X;"]W
M;W)K<VAE971S+W-H965T,RYX;6Q02P$"% ,4    " ")@7U6*>EX:'D$  !8
M$0  &               @(&*&   >&PO=V]R:W-H965T<R]S:&5E=#0N>&UL
M4$L! A0#%     @ B8%]5MS+<7>$!   KQP  !@              ("!.1T
M 'AL+W=O<FMS:&5E=',O<VAE970U+GAM;%!+ 0(4 Q0    ( (F!?5;A0^B4
M50(  -@%   8              " @?,A  !X;"]W;W)K<VAE971S+W-H965T
M-BYX;6Q02P$"% ,4    " ")@7U6TMC,WB4&   S&@  &
M@(%^)   >&PO=V]R:W-H965T<R]S:&5E=#<N>&UL4$L! A0#%     @ B8%]
M5AC)"]K8!P  EA,  !@              ("!V2H  'AL+W=O<FMS:&5E=',O
M<VAE970X+GAM;%!+ 0(4 Q0    ( (F!?5;/KWL$400  *L)   8
M      " @><R  !X;"]W;W)K<VAE971S+W-H965T.2YX;6Q02P$"% ,4
M" ")@7U684LWD"0$  #6"   &0              @(%N-P  >&PO=V]R:W-H
M965T<R]S:&5E=#$P+GAM;%!+ 0(4 Q0    ( (F!?5:59XS]^ $  +$$   9
M              " @<D[  !X;"]W;W)K<VAE971S+W-H965T,3$N>&UL4$L!
M A0#%     @ B8%]5HA9M%DM @  [P0  !D              ("!^#T  'AL
M+W=O<FMS:&5E=',O<VAE970Q,BYX;6Q02P$"% ,4    " ")@7U6_)-Q7#T'
M  !%&0  &0              @(%<0   >&PO=V]R:W-H965T<R]S:&5E=#$S
M+GAM;%!+ 0(4 Q0    ( (F!?5:O.A])7@,  , '   9              "
M@=!'  !X;"]W;W)K<VAE971S+W-H965T,30N>&UL4$L! A0#%     @ B8%]
M5KR9N)$  P  N08  !D              ("!94L  'AL+W=O<FMS:&5E=',O
M<VAE970Q-2YX;6Q02P$"% ,4    " ")@7U6%OCB,_(!  "1!   &0
M        @(&<3@  >&PO=V]R:W-H965T<R]S:&5E=#$V+GAM;%!+ 0(4 Q0
M   ( (F!?5;Z=!<E]@$  *X$   9              " @<50  !X;"]W;W)K
M<VAE971S+W-H965T,3<N>&UL4$L! A0#%     @ B8%]5I;2"GY@"   .1D
M !D              ("!\E(  'AL+W=O<FMS:&5E=',O<VAE970Q."YX;6Q0
M2P$"% ,4    " ")@7U6K*ZA+)T"  ";!0  &0              @(&)6P
M>&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM;%!+ 0(4 Q0    ( (F!?5:?OZD#
MY0(  #L&   9              " @5U>  !X;"]W;W)K<VAE971S+W-H965T
M,C N>&UL4$L! A0#%     @ B8%]5B3\4(>" @  A@4  !D
M ("!>6$  'AL+W=O<FMS:&5E=',O<VAE970R,2YX;6Q02P$"% ,4    " ")
M@7U6+%"*CL\"  #+!@  &0              @($R9   >&PO=V]R:W-H965T
M<R]S:&5E=#(R+GAM;%!+ 0(4 Q0    ( (F!?5;]TRE14P(  #\%   9
M          " @3AG  !X;"]W;W)K<VAE971S+W-H965T,C,N>&UL4$L! A0#
M%     @ B8%]5@4LD!BC @  \@4  !D              ("!PFD  'AL+W=O
M<FMS:&5E=',O<VAE970R-"YX;6Q02P$"% ,4    " ")@7U6KH^[BZD"  #$
M!0  &0              @(&<;   >&PO=V]R:W-H965T<R]S:&5E=#(U+GAM
M;%!+ 0(4 Q0    ( (F!?58W6UXK.@(  /H$   9              " @7QO
M  !X;"]W;W)K<VAE971S+W-H965T,C8N>&UL4$L! A0#%     @ B8%]5LE^
M)>.W!   DQ   !D              ("![7$  'AL+W=O<FMS:&5E=',O<VAE
M970R-RYX;6Q02P$"% ,4    " ")@7U6AV.;Q'$#   -"0  &0
M    @(';=@  >&PO=V]R:W-H965T<R]S:&5E=#(X+GAM;%!+ 0(4 Q0    (
M (F!?5;-=M];.P(  )$%   9              " @8-Z  !X;"]W;W)K<VAE
M971S+W-H965T,CDN>&UL4$L! A0#%     @ B8%]5NK+=055 P  3A$  !D
M             ("!]7P  'AL+W=O<FMS:&5E=',O<VAE970S,"YX;6Q02P$"
M% ,4    " ")@7U6<@)+BU\"  !+!@  &0              @(&!@   >&PO
M=V]R:W-H965T<R]S:&5E=#,Q+GAM;%!+ 0(4 Q0    ( (F!?5;K+JG3/0(
M (D%   9              " @1>#  !X;"]W;W)K<VAE971S+W-H965T,S(N
M>&UL4$L! A0#%     @ B8%]5AA32\ZA @  = <  !D              ("!
MBX4  'AL+W=O<FMS:&5E=',O<VAE970S,RYX;6Q02P$"% ,4    " ")@7U6
MKCFJ^?D"  """   &0              @(%CB   >&PO=V]R:W-H965T<R]S
M:&5E=#,T+GAM;%!+ 0(4 Q0    ( (F!?58Z;3PSB (  .L&   9
M      " @9.+  !X;"]W;W)K<VAE971S+W-H965T,S4N>&UL4$L! A0#%
M  @ B8%]5MN[5M8^ P  60L  !D              ("!4HX  'AL+W=O<FMS
M:&5E=',O<VAE970S-BYX;6Q02P$"% ,4    " ")@7U6.;.LK:D"  #@!P
M&0              @(''D0  >&PO=V]R:W-H965T<R]S:&5E=#,W+GAM;%!+
M 0(4 Q0    ( (F!?5; P\X10@,  *X*   9              " @:>4  !X
M;"]W;W)K<VAE971S+W-H965T,S@N>&UL4$L! A0#%     @ B8%]5E:GC/C9
M @  2@@  !D              ("!()@  'AL+W=O<FMS:&5E=',O<VAE970S
M.2YX;6Q02P$"% ,4    " ")@7U6<LT2$1,"  #O!   &0
M@($PFP  >&PO=V]R:W-H965T<R]S:&5E=#0P+GAM;%!+ 0(4 Q0    ( (F!
M?5:F3AM,5@(  +,%   9              " @7J=  !X;"]W;W)K<VAE971S
M+W-H965T-#$N>&UL4$L! A0#%     @ B8%]5FMR2HUZ @  R08  !D
M         ("!!Z   'AL+W=O<FMS:&5E=',O<VAE970T,BYX;6Q02P$"% ,4
M    " ")@7U6D//#E5H&   *(   &0              @(&XH@  >&PO=V]R
M:W-H965T<R]S:&5E=#0S+GAM;%!+ 0(4 Q0    ( (F!?5;,9"5^U00  + :
M   9              " @4FI  !X;"]W;W)K<VAE971S+W-H965T-#0N>&UL
M4$L! A0#%     @ B8%]5FO=:<(= P  [@L  !D              ("!5:X
M 'AL+W=O<FMS:&5E=',O<VAE970T-2YX;6Q02P$"% ,4    " ")@7U667@C
M*U("  !$!@  &0              @(&IL0  >&PO=V]R:W-H965T<R]S:&5E
M=#0V+GAM;%!+ 0(4 Q0    ( (F!?5;#CE++E@(   P'   9
M  " @3*T  !X;"]W;W)K<VAE971S+W-H965T-#<N>&UL4$L! A0#%     @
MB8%]5N8EEPL? P  2!$   T              ( !_[8  'AL+W-T>6QE<RYX
M;6Q02P$"% ,4    " ")@7U6EXJ[',     3 @  "P              @ %)
MN@  7W)E;',O+G)E;'-02P$"% ,4    " ")@7U6Q[/ [V $  #4'P  #P
M            @ $RNP  >&PO=V]R:V)O;VLN>&UL4$L! A0#%     @ B8%]
M5KDCVC>R 0  5!P  !H              ( !O[\  'AL+U]R96QS+W=O<FMB
M;V]K+GAM;"YR96QS4$L! A0#%     @ B8%]5F7AF;6W 0  91P  !,
M         ( !J<$  %M#;VYT96YT7U1Y<&5S72YX;6Q02P4&     #< -P#X
)#@  D<,

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<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>61
<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>62
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.23.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>87</ContextCount>
  <ElementCount>190</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>26</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>4</UnitCount>
  <MyReports>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000010 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>000020 - Statement - Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets</Role>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>000030 - Statement - Consolidated Balance Sheets - Parenthetical</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>Consolidated Balance Sheets - Parenthetical</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>000040 - Statement - Consolidated Statements of Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome</Role>
      <ShortName>Consolidated Statements of Income</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>000050 - Statement - Consolidated Statements of Shareholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity</Role>
      <ShortName>Consolidated Statements of Shareholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>000060 - Statement - Consolidated Statements of Shareholders' Equity - Parenthetical</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical</Role>
      <ShortName>Consolidated Statements of Shareholders' Equity - Parenthetical</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>000070 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows</Role>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>000080 - Disclosure - 1 - Nature of Business and Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies</Role>
      <ShortName>1 - Nature of Business and Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>000090 - Disclosure - 2 - Balance Sheet Details</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetails</Role>
      <ShortName>2 - Balance Sheet Details</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>000100 - Disclosure - 3 - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxes</Role>
      <ShortName>3 - Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>000110 - Disclosure - 4 - Profit Sharing Plan</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure4ProfitSharingPlan</Role>
      <ShortName>4 - Profit Sharing Plan</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>000120 - Disclosure - 5 - Other Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncome</Role>
      <ShortName>5 - Other Income</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>000130 - Disclosure - 6 - Segment Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformation</Role>
      <ShortName>6 - Segment Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>000140 - Disclosure - 7 - Additional Financial Information Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure7AdditionalFinancialInformationDisclosure</Role>
      <ShortName>7 - Additional Financial Information Disclosure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>000150 - Disclosure - 8 - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure8CommitmentsAndContingencies</Role>
      <ShortName>8 - Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>000160 - Disclosure - 9 - COVID-19</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure9Covid19</Role>
      <ShortName>9 - COVID-19</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>000170 - Disclosure - 10 - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure10SubsequentEvents</Role>
      <ShortName>10 - Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>000180 - Disclosure - Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_DisclosureSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20221231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies</ParentRole>
      <Position>18</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>000190 - Disclosure - 2 - Balance Sheet Details: Inventory (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables</Role>
      <ShortName>2 - Balance Sheet Details: Inventory (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>000200 - Disclosure - 2 - Balance Sheet Details: Property, Plant and Equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables</Role>
      <ShortName>2 - Balance Sheet Details: Property, Plant and Equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>000210 - Disclosure - 2 - Balance Sheet Details: Other Accrued Expenses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables</Role>
      <ShortName>2 - Balance Sheet Details: Other Accrued Expenses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>000220 - Disclosure - 2 - Balance Sheet Details: Schedule of Valuation and Qualifying Accounts (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables</Role>
      <ShortName>2 - Balance Sheet Details: Schedule of Valuation and Qualifying Accounts (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>000230 - Disclosure - 3 - Income Taxes: Provision for Income Tax Expense (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables</Role>
      <ShortName>3 - Income Taxes: Provision for Income Tax Expense (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>000240 - Disclosure - 3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables</Role>
      <ShortName>3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>000250 - Disclosure - 3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables</Role>
      <ShortName>3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>000260 - Disclosure - 5 - Other Income: Other Income (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncomeOtherIncomeTables</Role>
      <ShortName>5 - Other Income: Other Income (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>000270 - Disclosure - 6 - Segment Information: Schedule of Segment Reporting Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables</Role>
      <ShortName>6 - Segment Information: Schedule of Segment Reporting Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>000280 - Disclosure - 6 - Segment Information: Disaggregation of Revenue (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables</Role>
      <ShortName>6 - Segment Information: Disaggregation of Revenue (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>000290 - Disclosure - Deferred Revenue Recognized (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_DisclosureDeferredRevenueRecognizedDetails</Role>
      <ShortName>Deferred Revenue Recognized (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>000300 - Disclosure - Estimated Useful Lives by Asset Category (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails</Role>
      <ShortName>Estimated Useful Lives by Asset Category (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>30</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>000310 - Disclosure - Uncertain Tax Positions and Unrecognized Tax Benefits (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails</Role>
      <ShortName>Uncertain Tax Positions and Unrecognized Tax Benefits (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>000320 - Disclosure - Weighted Avg. Number of Shares Outstanding (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails</Role>
      <ShortName>Weighted Avg. Number of Shares Outstanding (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>32</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>000330 - Disclosure - 2 - Balance Sheet Details: Inventory (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails</Role>
      <ShortName>2 - Balance Sheet Details: Inventory (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>000340 - Disclosure - 2 - Balance Sheet Details: Property, Plant and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails</Role>
      <ShortName>2 - Balance Sheet Details: Property, Plant and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>000350 - Disclosure - 2 - Balance Sheet Details: Other Accrued Expenses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails</Role>
      <ShortName>2 - Balance Sheet Details: Other Accrued Expenses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>000360 - Disclosure - Schedule of Valuation and Qualifying Accounts (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails</Role>
      <ShortName>Schedule of Valuation and Qualifying Accounts (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>000370 - Disclosure - 3 - Income Taxes: Provision for Income Tax Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails</Role>
      <ShortName>3 - Income Taxes: Provision for Income Tax Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>000380 - Disclosure - 3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails</Role>
      <ShortName>3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>000390 - Disclosure - 3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails</Role>
      <ShortName>3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>000400 - Disclosure - Other Income Tax Disclosures (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_DisclosureOtherIncomeTaxDisclosuresDetails</Role>
      <ShortName>Other Income Tax Disclosures (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>000410 - Disclosure - Profit Sharing Plan (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_DisclosureProfitSharingPlanDetails</Role>
      <ShortName>Profit Sharing Plan (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>000420 - Disclosure - 5 - Other Income: Other Income (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails</Role>
      <ShortName>5 - Other Income: Other Income (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncomeOtherIncomeTables</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>000430 - Disclosure - 6 - Segment Information: Schedule of Segment Reporting Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails</Role>
      <ShortName>6 - Segment Information: Schedule of Segment Reporting Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>000440 - Disclosure - 6 - Segment Information: Disaggregation of Revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails</Role>
      <ShortName>6 - Segment Information: Disaggregation of Revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>000450 - Disclosure - Summary of % of Revenues and A/R from Major Customers (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails</Role>
      <ShortName>Summary of % of Revenues and A/R from Major Customers (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>000460 - Disclosure - Commitments and Contingencies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_DisclosureCommitmentsAndContingenciesDetails</Role>
      <ShortName>Commitments and Contingencies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="d486850d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>000470 - Disclosure - Subsequent Events (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20221231/role/idr_DisclosureSubsequentEventsDetails</Role>
      <ShortName>Subsequent Events (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <Logs>
    <Log type="Warning">[dq-0542-Deprecated-Concept] Concept TreasuryStockShares in us-gaap/2022 used in 3 facts was deprecated in us-gaap/2023 as of 2023 and should not be used. d486850d10k.htm 629, 659, 689</Log>
    <Log type="Warning">[dq-0542-Deprecated-Concept] Concept TreasuryStockMember in us-gaap/2022 used in 6 facts was deprecated in us-gaap/2023 as of 2023 and should not be used. d486850d10k.htm 629, 630, 659, 660, 689, 690</Log>
    <Log type="Warning">[dq-0549-DocumentFinStmtErrorCorrectionFlag-Missing] Submission type 10-K should have a non-empty value for DocumentFinStmtErrorCorrectionFlag in the Required Context. d486850d10k.htm </Log>
    <Log type="Warning">[ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 3 fact(s) appearing in ix:hidden were eligible for transformation: dei:CurrentFiscalYearEndDate, dei:EntityRegistrantName, dei:SecurityExchangeName -  d486850d10k.htm 8</Log>
    <Log type="Warning">[dqc-0043-Incorrect-Calculation-Weights-In-Operating-Cash-Flows] The concept IncreaseDecreaseInAccountsReceivable is included in the calculation of NetCashProvidedByUsedInOperatingActivities.IncreaseDecreaseInAccountsReceivable is a credit balance type concept representing a natural cash outflow in the reconciliation of net income (loss) to NetCashProvidedByUsedInOperatingActivities. A credit balance type concept should always be assigned a negative one (-1) calculation weight as it is a deduction from net income (loss) to reconcile to NetCashProvidedByUsedInOperatingActivities.IncreaseDecreaseInAccountsReceivable has been incorrectly provided a positive one (+1) calculation weight in the extension taxonomy. Correct the calculation weight to negative one (-1) and input the value as a positive amount if it is a deduction of a non-cash income or gain, an increase in an asset, or a decrease in a liability. If the value is an add-back of a non-cash expense or loss, decrease in an asset, or an increase in a liability and IncreaseDecreaseInAccountsReceivable is the correct concept, input a negative value. Rule Element Id: 7488. https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd 8769, 11554</Log>
    <Log type="Warning">[dqc-0043-Incorrect-Calculation-Weights-In-Operating-Cash-Flows] The concept IncreaseDecreaseInInventories is included in the calculation of NetCashProvidedByUsedInOperatingActivities.IncreaseDecreaseInInventories is a credit balance type concept representing a natural cash outflow in the reconciliation of net income (loss) to NetCashProvidedByUsedInOperatingActivities. A credit balance type concept should always be assigned a negative one (-1) calculation weight as it is a deduction from net income (loss) to reconcile to NetCashProvidedByUsedInOperatingActivities.IncreaseDecreaseInInventories has been incorrectly provided a positive one (+1) calculation weight in the extension taxonomy. Correct the calculation weight to negative one (-1) and input the value as a positive amount if it is a deduction of a non-cash income or gain, an increase in an asset, or a decrease in a liability. If the value is an add-back of a non-cash expense or loss, decrease in an asset, or an increase in a liability and IncreaseDecreaseInInventories is the correct concept, input a negative value. Rule Element Id: 7488. https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd 8907, 11554</Log>
    <Log type="Warning">[dqc-0043-Incorrect-Calculation-Weights-In-Operating-Cash-Flows] The concept GainLossOnDispositionOfAssets is included in the calculation of NetCashProvidedByUsedInOperatingActivities.GainLossOnDispositionOfAssets is a credit balance type concept representing a natural cash outflow in the reconciliation of net income (loss) to NetCashProvidedByUsedInOperatingActivities. A credit balance type concept should always be assigned a negative one (-1) calculation weight as it is a deduction from net income (loss) to reconcile to NetCashProvidedByUsedInOperatingActivities.GainLossOnDispositionOfAssets has been incorrectly provided a positive one (+1) calculation weight in the extension taxonomy. Correct the calculation weight to negative one (-1) and input the value as a positive amount if it is a deduction of a non-cash income or gain, an increase in an asset, or a decrease in a liability. If the value is an add-back of a non-cash expense or loss, decrease in an asset, or an increase in a liability and GainLossOnDispositionOfAssets is the correct concept, input a negative value. Rule Element Id: 7488. https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd 7949, 11554</Log>
    <Log type="Warning">[dqc-0043-Incorrect-Calculation-Weights-In-Operating-Cash-Flows] The concept IncreaseDecreaseInOtherOperatingAssets is included in the calculation of NetCashProvidedByUsedInOperatingActivities.IncreaseDecreaseInOtherOperatingAssets is a credit balance type concept representing a natural cash outflow in the reconciliation of net income (loss) to NetCashProvidedByUsedInOperatingActivities. A credit balance type concept should always be assigned a negative one (-1) calculation weight as it is a deduction from net income (loss) to reconcile to NetCashProvidedByUsedInOperatingActivities.IncreaseDecreaseInOtherOperatingAssets has been incorrectly provided a positive one (+1) calculation weight in the extension taxonomy. Correct the calculation weight to negative one (-1) and input the value as a positive amount if it is a deduction of a non-cash income or gain, an increase in an asset, or a decrease in a liability. If the value is an add-back of a non-cash expense or loss, decrease in an asset, or an increase in a liability and IncreaseDecreaseInOtherOperatingAssets is the correct concept, input a negative value. Rule Element Id: 7488. https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd 8928, 11554</Log>
    <Log type="Warning">[DQC.US.0057.9728] One of the following elements CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents, CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations should appear as the opening and closing balance in the cash flow statement using the group http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows. Instead the following balance items have been used in this statement CashAndCashEquivalentsAtCarryingValue. Due to the implementaion of ASU-2016-18 at least one of the opening and closing balance items listed must be used in the cash flow statement.  - https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd 2790 - https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd 2790</Log>
  </Logs>
  <InputFiles>
    <File doctype="10-K" original="d486850d10k.htm">d486850d10k.htm</File>
    <File>cvr-20221231.xsd</File>
    <File>cvr-20221231_cal.xml</File>
    <File>cvr-20221231_def.xml</File>
    <File>cvr-20221231_lab.xml</File>
    <File>cvr-20221231_pre.xml</File>
    <File>d486850dex21.htm</File>
    <File>d486850dex31.htm</File>
    <File>d486850dex32.htm</File>
  </InputFiles>
  <SupplementalFiles>
    <File>g486850cvr10k2022_12.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="1">http://fasb.org/srt/2022</BaseTaxonomy>
    <BaseTaxonomy items="417">http://fasb.org/us-gaap/2022</BaseTaxonomy>
    <BaseTaxonomy items="36">http://xbrl.sec.gov/dei/2022q4</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>65
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "d486850d10k.htm": {
   "axisCustom": 0,
   "axisStandard": 8,
   "baseTaxonomies": {
    "http://fasb.org/srt/2022": 1,
    "http://fasb.org/us-gaap/2022": 417,
    "http://xbrl.sec.gov/dei/2022q4": 36
   },
   "contextCount": 87,
   "dts": {
    "calculationLink": {
     "local": [
      "cvr-20221231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "cvr-20221231_def.xml"
     ]
    },
    "inline": {
     "local": [
      "d486850d10k.htm"
     ]
    },
    "labelLink": {
     "local": [
      "cvr-20221231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "cvr-20221231_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "cvr-20221231.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd",
      "https://xbrl.sec.gov/country/2022/country-2022.xsd",
      "https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd"
     ]
    }
   },
   "elementCount": 256,
   "entityCount": 1,
   "hidden": {
    "http://xbrl.sec.gov/dei/2022q4": 7,
    "total": 7
   },
   "keyCustom": 2,
   "keyStandard": 188,
   "memberCustom": 10,
   "memberStandard": 16,
   "nsprefix": "fil",
   "nsuri": "http://www.chicagorivet.com/20221231",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "000010 - Document - Document and Entity Information",
     "menuCat": "Cover",
     "order": "1",
     "role": "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation",
     "shortName": "Document and Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000100 - Disclosure - 3 - Income Taxes",
     "menuCat": "Notes",
     "order": "10",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxes",
     "shortName": "3 - Income Taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000110 - Disclosure - 4 - Profit Sharing Plan",
     "menuCat": "Notes",
     "order": "11",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure4ProfitSharingPlan",
     "shortName": "4 - Profit Sharing Plan",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InterestAndOtherIncomeTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000120 - Disclosure - 5 - Other Income",
     "menuCat": "Notes",
     "order": "12",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncome",
     "shortName": "5 - Other Income",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InterestAndOtherIncomeTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000130 - Disclosure - 6 - Segment Information",
     "menuCat": "Notes",
     "order": "13",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformation",
     "shortName": "6 - Segment Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AdditionalFinancialInformationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000140 - Disclosure - 7 - Additional Financial Information Disclosure",
     "menuCat": "Notes",
     "order": "14",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure7AdditionalFinancialInformationDisclosure",
     "shortName": "7 - Additional Financial Information Disclosure",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AdditionalFinancialInformationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000150 - Disclosure - 8 - Commitments and Contingencies",
     "menuCat": "Notes",
     "order": "15",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure8CommitmentsAndContingencies",
     "shortName": "8 - Commitments and Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000160 - Disclosure - 9 - COVID-19",
     "menuCat": "Notes",
     "order": "16",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure9Covid19",
     "shortName": "9 - COVID-19",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000170 - Disclosure - 10 - Subsequent Events",
     "menuCat": "Notes",
     "order": "17",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure10SubsequentEvents",
     "shortName": "10 - Subsequent Events",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000180 - Disclosure - Significant Accounting Policies (Policies)",
     "menuCat": "Policies",
     "order": "18",
     "role": "http://www.chicagorivet.com/20221231/role/idr_DisclosureSignificantAccountingPoliciesPolicies",
     "shortName": "Significant Accounting Policies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000190 - Disclosure - 2 - Balance Sheet Details: Inventory (Tables)",
     "menuCat": "Tables",
     "order": "19",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables",
     "shortName": "2 - Balance Sheet Details: Inventory (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "E22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000020 - Statement - Consolidated Balance Sheets",
     "menuCat": "Statements",
     "order": "2",
     "role": "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets",
     "shortName": "Consolidated Balance Sheets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "E22",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:CertificatesOfDepositAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000200 - Disclosure - 2 - Balance Sheet Details: Property, Plant and Equipment (Tables)",
     "menuCat": "Tables",
     "order": "20",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables",
     "shortName": "2 - Balance Sheet Details: Property, Plant and Equipment (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000210 - Disclosure - 2 - Balance Sheet Details: Other Accrued Expenses (Tables)",
     "menuCat": "Tables",
     "order": "21",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables",
     "shortName": "2 - Balance Sheet Details: Other Accrued Expenses (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000220 - Disclosure - 2 - Balance Sheet Details: Schedule of Valuation and Qualifying Accounts (Tables)",
     "menuCat": "Tables",
     "order": "22",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables",
     "shortName": "2 - Balance Sheet Details: Schedule of Valuation and Qualifying Accounts (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000230 - Disclosure - 3 - Income Taxes: Provision for Income Tax Expense (Tables)",
     "menuCat": "Tables",
     "order": "23",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables",
     "shortName": "3 - Income Taxes: Provision for Income Tax Expense (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000240 - Disclosure - 3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)",
     "menuCat": "Tables",
     "order": "24",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables",
     "shortName": "3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000250 - Disclosure - 3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)",
     "menuCat": "Tables",
     "order": "25",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables",
     "shortName": "3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:InterestAndOtherIncomeTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InterestAndOtherIncomeTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000260 - Disclosure - 5 - Other Income: Other Income (Tables)",
     "menuCat": "Tables",
     "order": "26",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncomeOtherIncomeTables",
     "shortName": "5 - Other Income: Other Income (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:InterestAndOtherIncomeTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InterestAndOtherIncomeTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000270 - Disclosure - 6 - Segment Information: Schedule of Segment Reporting Information (Tables)",
     "menuCat": "Tables",
     "order": "27",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables",
     "shortName": "6 - Segment Information: Schedule of Segment Reporting Information (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22_StGeo-Location",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000280 - Disclosure - 6 - Segment Information: Disaggregation of Revenue (Tables)",
     "menuCat": "Tables",
     "order": "28",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables",
     "shortName": "6 - Segment Information: Disaggregation of Revenue (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22_StGeo-Location",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure",
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000290 - Disclosure - Deferred Revenue Recognized (Details)",
     "menuCat": "Details",
     "order": "29",
     "role": "http://www.chicagorivet.com/20221231/role/idr_DisclosureDeferredRevenueRecognizedDetails",
     "shortName": "Deferred Revenue Recognized (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure",
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "E22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "UsdPerShare",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000030 - Statement - Consolidated Balance Sheets - Parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "role": "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheetsParenthetical",
     "shortName": "Consolidated Balance Sheets - Parenthetical",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "E22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "UsdPerShare",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22_Range-Minimum_PpeByType-LandImprovements",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000300 - Disclosure - Estimated Useful Lives by Asset Category (Details)",
     "menuCat": "Details",
     "order": "30",
     "role": "http://www.chicagorivet.com/20221231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails",
     "shortName": "Estimated Useful Lives by Asset Category (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22_Range-Minimum_PpeByType-LandImprovements",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "E22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:LiabilityForUncertainTaxPositionsCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000310 - Disclosure - Uncertain Tax Positions and Unrecognized Tax Benefits (Details)",
     "menuCat": "Details",
     "order": "31",
     "role": "http://www.chicagorivet.com/20221231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails",
     "shortName": "Uncertain Tax Positions and Unrecognized Tax Benefits (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "E22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:LiabilityForUncertainTaxPositionsCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic",
      "reportCount": 1,
      "unitRef": "Shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000320 - Disclosure - Weighted Avg. Number of Shares Outstanding (Details)",
     "menuCat": "Details",
     "order": "32",
     "role": "http://www.chicagorivet.com/20221231/role/idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails",
     "shortName": "Weighted Avg. Number of Shares Outstanding (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "E22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterials",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000330 - Disclosure - 2 - Balance Sheet Details: Inventory (Details)",
     "menuCat": "Details",
     "order": "33",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails",
     "shortName": "2 - Balance Sheet Details: Inventory (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "E22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterials",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "E22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:LandAndLandImprovements",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000340 - Disclosure - 2 - Balance Sheet Details: Property, Plant and Equipment (Details)",
     "menuCat": "Details",
     "order": "34",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails",
     "shortName": "2 - Balance Sheet Details: Property, Plant and Equipment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "E22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:LandAndLandImprovements",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "E22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:OtherEmployeeRelatedLiabilitiesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000350 - Disclosure - 2 - Balance Sheet Details: Other Accrued Expenses (Details)",
     "menuCat": "Details",
     "order": "35",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails",
     "shortName": "2 - Balance Sheet Details: Other Accrued Expenses (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "E22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:OtherEmployeeRelatedLiabilitiesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "E21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000360 - Disclosure - Schedule of Valuation and Qualifying Accounts (Details)",
     "menuCat": "Details",
     "order": "36",
     "role": "http://www.chicagorivet.com/20221231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails",
     "shortName": "Schedule of Valuation and Qualifying Accounts (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "E20_ValuationAllowancesAndReservesType-AllowanceForCreditLoss",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000370 - Disclosure - 3 - Income Taxes: Provision for Income Tax Expense (Details)",
     "menuCat": "Details",
     "order": "37",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails",
     "shortName": "3 - Income Taxes: Provision for Income Tax Expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000380 - Disclosure - 3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)",
     "menuCat": "Details",
     "order": "38",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails",
     "shortName": "3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "E22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000390 - Disclosure - 3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)",
     "menuCat": "Details",
     "order": "39",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails",
     "shortName": "3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "E22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000040 - Statement - Consolidated Statements of Income",
     "menuCat": "Statements",
     "order": "4",
     "role": "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome",
     "shortName": "Consolidated Statements of Income",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:CostOfRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "E22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsValuationAllowance",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000400 - Disclosure - Other Income Tax Disclosures (Details)",
     "menuCat": "Details",
     "order": "40",
     "role": "http://www.chicagorivet.com/20221231/role/idr_DisclosureOtherIncomeTaxDisclosuresDetails",
     "shortName": "Other Income Tax Disclosures (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "E22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsValuationAllowance",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000410 - Disclosure - Profit Sharing Plan (Details)",
     "menuCat": "Details",
     "order": "41",
     "role": "http://www.chicagorivet.com/20221231/role/idr_DisclosureProfitSharingPlanDetails",
     "shortName": "Profit Sharing Plan (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:InterestAndOtherIncomeTableTextBlock",
       "us-gaap:InterestAndOtherIncomeTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:InvestmentIncomeInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000420 - Disclosure - 5 - Other Income: Other Income (Details)",
     "menuCat": "Details",
     "order": "42",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails",
     "shortName": "5 - Other Income: Other Income (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:InterestAndOtherIncomeTableTextBlock",
       "us-gaap:InterestAndOtherIncomeTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:InvestmentIncomeInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000430 - Disclosure - 6 - Segment Information: Schedule of Segment Reporting Information (Details)",
     "menuCat": "Details",
     "order": "43",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
     "shortName": "6 - Segment Information: Schedule of Segment Reporting Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22_StBusnSeg-Fastener",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000440 - Disclosure - 6 - Segment Information: Disaggregation of Revenue (Details)",
     "menuCat": "Details",
     "order": "44",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails",
     "shortName": "6 - Segment Information: Disaggregation of Revenue (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22_MajCust-TIGroupAutomotiveSystems",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000450 - Disclosure - Summary of % of Revenues and A/R from Major Customers (Details)",
     "menuCat": "Details",
     "order": "45",
     "role": "http://www.chicagorivet.com/20221231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails",
     "shortName": "Summary of % of Revenues and A/R from Major Customers (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22_MajCust-TIGroupAutomotiveSystems",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeasesRentExpenseNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000460 - Disclosure - Commitments and Contingencies (Details)",
     "menuCat": "Details",
     "order": "46",
     "role": "http://www.chicagorivet.com/20221231/role/idr_DisclosureCommitmentsAndContingenciesDetails",
     "shortName": "Commitments and Contingencies (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeasesRentExpenseNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:ScheduleOfSubsequentEventsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DividendsPayableDateDeclaredDayMonthAndYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000470 - Disclosure - Subsequent Events (Details)",
     "menuCat": "Details",
     "order": "47",
     "role": "http://www.chicagorivet.com/20221231/role/idr_DisclosureSubsequentEventsDetails",
     "shortName": "Subsequent Events (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:ScheduleOfSubsequentEventsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DividendsPayableDateDeclaredDayMonthAndYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "E20",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000050 - Statement - Consolidated Statements of Shareholders' Equity",
     "menuCat": "Statements",
     "order": "5",
     "role": "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity",
     "shortName": "Consolidated Statements of Shareholders' Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "E20",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockDividendsPerShareDeclared",
      "reportCount": 1,
      "unitRef": "UsdPerShare",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000060 - Statement - Consolidated Statements of Shareholders' Equity - Parenthetical",
     "menuCat": "Statements",
     "order": "6",
     "role": "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical",
     "shortName": "Consolidated Statements of Shareholders' Equity - Parenthetical",
     "subGroupType": "parenthetical",
     "uniqueAnchor": null
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000070 - Statement - Consolidated Statements of Cash Flows",
     "menuCat": "Statements",
     "order": "7",
     "role": "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows",
     "shortName": "Consolidated Statements of Cash Flows",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:GainLossOnDispositionOfAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000080 - Disclosure - 1 - Nature of Business and Significant Accounting Policies",
     "menuCat": "Notes",
     "order": "8",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies",
     "shortName": "1 - Nature of Business and Significant Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000090 - Disclosure - 2 - Balance Sheet Details",
     "menuCat": "Notes",
     "order": "9",
     "role": "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetails",
     "shortName": "2 - Balance Sheet Details",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d486850d10k.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 26,
   "tag": {
    "country_US": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES"
       }
      }
     },
     "localname": "US",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AuditorFirmId": {
     "auth_ref": [
      "r355",
      "r356",
      "r357"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "PCAOB issued Audit Firm Identifier",
        "label": "Auditor Firm ID"
       }
      }
     },
     "localname": "AuditorFirmId",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "nonemptySequenceNumberItemType"
    },
    "dei_AuditorLocation": {
     "auth_ref": [
      "r355",
      "r356",
      "r357"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "localname": "AuditorLocation",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "internationalNameItemType"
    },
    "dei_AuditorName": {
     "auth_ref": [
      "r355",
      "r356",
      "r357"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "localname": "AuditorName",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "internationalNameItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Fiscal Year End"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentAnnualReport": {
     "auth_ref": [
      "r355",
      "r356",
      "r357"
     ],
     "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r358"
     ],
     "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r353"
     ],
     "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": "Registrant CIK"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r353"
     ],
     "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r353"
     ],
     "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r359"
     ],
     "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "monetaryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r353"
     ],
     "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r353"
     ],
     "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r353"
     ],
     "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r353"
     ],
     "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [
      "r360"
     ],
     "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_IcfrAuditorAttestationFlag": {
     "auth_ref": [
      "r355",
      "r356",
      "r357"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "localname": "IcfrAuditorAttestationFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r352"
     ],
     "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r354"
     ],
     "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "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/2022q4",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "fil_AssemblyEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Assembly Equipment, during the indicated time period.",
        "label": "Assembly Equipment"
       }
      }
     },
     "localname": "AssemblyEquipmentMember",
     "nsuri": "http://www.chicagorivet.com/20221231",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_AutomotiveMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Automotive, during the indicated time period.",
        "label": "Automotive"
       }
      }
     },
     "localname": "AutomotiveMember",
     "nsuri": "http://www.chicagorivet.com/20221231",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_CooperStandardHoldingsIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Cooper Standard Holdings Inc., during the indicated time period.",
        "label": "Cooper Standard Holdings Inc."
       }
      }
     },
     "localname": "CooperStandardHoldingsIncMember",
     "nsuri": "http://www.chicagorivet.com/20221231",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_EndMarketMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the End Market, during the indicated time period.",
        "label": "End Market"
       }
      }
     },
     "localname": "EndMarketMember",
     "nsuri": "http://www.chicagorivet.com/20221231",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_FastenerMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Fastener, during the indicated time period.",
        "label": "Fastener"
       }
      }
     },
     "localname": "FastenerMember",
     "nsuri": "http://www.chicagorivet.com/20221231",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_LocationMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Location, during the indicated time period.",
        "label": "Location"
       }
      }
     },
     "localname": "LocationMember",
     "nsuri": "http://www.chicagorivet.com/20221231",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_NonautomotiveMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Nonautomotive, during the indicated time period.",
        "label": "Nonautomotive"
       }
      }
     },
     "localname": "NonautomotiveMember",
     "nsuri": "http://www.chicagorivet.com/20221231",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_ParkerHannifinCorporationMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Parker Hannifin Corporation, during the indicated time period.",
        "label": "Parker Hannifin Corporation"
       }
      }
     },
     "localname": "ParkerHannifinCorporationMember",
     "nsuri": "http://www.chicagorivet.com/20221231",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_SegmentOperatingProfit": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting segment operating expenses from segment operating revenues.",
        "label": "Segment operating profit"
       }
      }
     },
     "localname": "SegmentOperatingProfit",
     "nsuri": "http://www.chicagorivet.com/20221231",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_SellingAndAdministrativeExpensesUnallocatedCorporate": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses.",
        "label": "Selling and Administrative Expenses {1}",
        "terseLabel": "Selling and Administrative Expenses"
       }
      }
     },
     "localname": "SellingAndAdministrativeExpensesUnallocatedCorporate",
     "nsuri": "http://www.chicagorivet.com/20221231",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_TIGroupAutomotiveSystemsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the T.I. Group Automotive Systems, during the indicated time period.",
        "label": "T.I. Group Automotive Systems"
       }
      }
     },
     "localname": "TIGroupAutomotiveSystemsMember",
     "nsuri": "http://www.chicagorivet.com/20221231",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_UnallocatedCorporateMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Unallocated Corporate, during the indicated time period.",
        "label": "Unallocated Corporate"
       }
      }
     },
     "localname": "UnallocatedCorporateMember",
     "nsuri": "http://www.chicagorivet.com/20221231",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r201",
      "r346",
      "r390",
      "r412"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name or description of a single external customer or a group of external customers.",
        "label": "Customer [Axis]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r224",
      "r225",
      "r226",
      "r227",
      "r243",
      "r293",
      "r301",
      "r320",
      "r321",
      "r343",
      "r347",
      "r351",
      "r389",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Upper limit of the provided range.",
        "label": "Maximum"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r224",
      "r225",
      "r226",
      "r227",
      "r243",
      "r293",
      "r301",
      "r320",
      "r321",
      "r343",
      "r347",
      "r351",
      "r389",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lower limit of the provided range.",
        "label": "Minimum"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [
      "r201",
      "r346",
      "r390",
      "r412"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Single external customer or group of external customers.",
        "label": "Customer"
       }
      }
     },
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r197",
      "r295",
      "r344",
      "r349",
      "r384",
      "r385",
      "r390",
      "r411"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by product and service, or group of similar products and similar services.",
        "label": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r197",
      "r295",
      "r344",
      "r349",
      "r384",
      "r385",
      "r390",
      "r411"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Product or service, or a group of similar products or similar services.",
        "label": "Product and Service"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r224",
      "r225",
      "r226",
      "r227",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r292",
      "r293",
      "r301",
      "r320",
      "r321",
      "r343",
      "r347",
      "r351",
      "r383",
      "r389",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median.",
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r224",
      "r225",
      "r226",
      "r227",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r292",
      "r293",
      "r301",
      "r320",
      "r321",
      "r343",
      "r347",
      "r351",
      "r383",
      "r389",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median.",
        "label": "Statistical Measurement"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock": {
     "auth_ref": [
      "r136",
      "r332"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for valuation and qualifying accounts and reserves.",
        "label": "Schedule of Valuation and Qualifying Accounts"
       }
      }
     },
     "localname": "ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r198",
      "r199",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r322",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r345",
      "r350",
      "r390"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Geographical area.",
        "label": "Geographical"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r198",
      "r199",
      "r307",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r322",
      "r323",
      "r345",
      "r350",
      "r390"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by geographical components.",
        "label": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r11",
      "r348"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets": {
       "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 {1}",
        "terseLabel": "Accounts Payable"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r203",
      "r204"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets": {
       "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 - Less allowances of $160,000 and $170,000, respectively",
        "verboseLabel": "Accounts receivable, net"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent": {
     "auth_ref": [
      "r13",
      "r68",
      "r336"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for real and property taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Property taxes"
       }
      }
     },
     "localname": "AccrualForTaxesOtherThanIncomeTaxesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r13"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 3.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": "Other Accrued Expenses"
       }
      }
     },
     "localname": "AccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails",
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "auth_ref": [
      "r57",
      "r107"
     ],
     "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": "Less: Accumulated Depreciation",
        "negatedLabel": "Less: Accumulated Depreciation"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalFinancialInformationDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosures of supplemental information, including descriptions and amounts, related to the balance sheet, income statement, and/or cash flow statement.",
        "label": "7 - Additional Financial Information Disclosure"
       }
      }
     },
     "localname": "AdditionalFinancialInformationDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure7AdditionalFinancialInformationDisclosure"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AdditionalInformationAboutEntitysReportableSegments": {
     "auth_ref": [
      "r47"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additional information about the entity or its reportable segments that may contribute to an understanding of the enterprise.",
        "label": "Percentage of accounts receivable balances"
       }
      }
     },
     "localname": "AdditionalInformationAboutEntitysReportableSegments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdditionalPaidInCapital": {
     "auth_ref": [
      "r3",
      "r348"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.",
        "label": "Additional Paid-in Capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapital",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r247",
      "r248",
      "r249",
      "r376",
      "r377",
      "r378",
      "r400"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.",
        "label": "Additional Paid-in Capital {1}",
        "terseLabel": "Additional Paid-in Capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Reconcile Net Income to Net Cash Used in Operating Activities"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllowanceForCreditLossMember": {
     "auth_ref": [
      "r371",
      "r372",
      "r373",
      "r374",
      "r375"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Allowance for credit loss from right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.",
        "label": "SEC Schedule, 12-09, Allowance, Credit Loss"
       }
      }
     },
     "localname": "AllowanceForCreditLossMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r81",
      "r89",
      "r109",
      "r125",
      "r175",
      "r187",
      "r193",
      "r205",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r278",
      "r280",
      "r284",
      "r348",
      "r387",
      "r388",
      "r402"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets": {
       "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": "Total Assets",
        "totalLabel": "Total Assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets {1}",
        "terseLabel": "Assets"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r103",
      "r113",
      "r125",
      "r205",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r278",
      "r280",
      "r284",
      "r348",
      "r387",
      "r388",
      "r402"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets": {
       "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": "Total Current Assets",
        "totalLabel": "Total Current Assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Assets"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r39"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. 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). Accounting policies describe all significant accounting policies of the reporting entity.",
        "label": "1 - Nature of Business and Significant Accounting Policies"
       }
      }
     },
     "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BuildingImprovementsMember": {
     "auth_ref": [
      "r56"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Addition, improvement, or renovation to a facility held for productive use including, but not limited to, office, production, storage and distribution facilities.",
        "label": "Building Improvements"
       }
      }
     },
     "localname": "BuildingImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BuildingsAndImprovementsGross": {
     "auth_ref": [
      "r56"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing.",
        "label": "Buildings and improvements"
       }
      }
     },
     "localname": "BuildingsAndImprovementsGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r35",
      "r106",
      "r333"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets": {
       "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",
        "periodEndLabel": "End of Year",
        "periodStartLabel": "Beginning of Year"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets",
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents {1}",
        "terseLabel": "Cash and Cash Equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "auth_ref": [
      "r36"
     ],
     "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 and Certificates of Deposit"
       }
      }
     },
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": {
     "auth_ref": [
      "r30",
      "r79"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding 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": "Net Increase (Decrease) in Cash and Cash Equivalents",
        "totalLabel": "Net Increase (Decrease) in Cash and Cash Equivalents"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CertificatesOfDepositAtCarryingValue": {
     "auth_ref": [
      "r361"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A savings certificate entitling the Entity (that is, bearer) to receive interest at an established maturity date, based upon a fixed interest rate. A certificate of deposit may be issued in any denomination. Certificates of deposit are generally issued by commercial banks and, therefore, insured by the FDIC (up to the prescribed limit). Certificates of deposit generally restrict holders from withdrawing funds on demand without the incurrence of penalties. Generally, only certificates of deposit with original maturities of three months or less qualify as cash equivalents. Original maturity means original maturity to the entity holding the investment. As a related example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.",
        "label": "Certificates of Deposit"
       }
      }
     },
     "localname": "CertificatesOfDepositAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies (Note 8)"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r59",
      "r222",
      "r223",
      "r308",
      "r386"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "8 - Commitments and Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure8CommitmentsAndContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockDividendsPerShareDeclared": {
     "auth_ref": [
      "r61"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding.",
        "label": "Cash Dividends Declared Per Share"
       }
      }
     },
     "localname": "CommonStockDividendsPerShareDeclared",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome",
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r376",
      "r377",
      "r400"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par or Stated Value Per Share"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r2"
     ],
     "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/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r2"
     ],
     "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/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r2",
      "r60"
     ],
     "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",
        "periodEndLabel": "Common Stock Shares",
        "periodStartLabel": "Common Stock Shares"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheetsParenthetical",
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValueOutstanding": {
     "auth_ref": [
      "r2"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of all classes of common stock held by shareholders. May be all or portion of the number of common shares authorized. These shares exclude common shares repurchased by the entity and held as treasury shares.",
        "label": "Common Stock, $1.00 Par Value, 4,000,000 Shares Authorized: 1,138,096 Shares Issued, 966,132 Shares Outstanding"
       }
      }
     },
     "localname": "CommonStockValueOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock": {
     "auth_ref": [
      "r65",
      "r66",
      "r67"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure of an entity's employee compensation and benefit plans, excluding share-based compensation and including, but not limited to, postemployment and postretirement benefit plans, defined benefit pension plans, defined contribution plans, non-qualified and supplemental benefit plans, deferred compensation, life insurance, severance, health care, unemployment and other benefit plans.",
        "label": "4 - Profit Sharing Plan"
       }
      }
     },
     "localname": "CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure4ProfitSharingPlan"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "auth_ref": [
      "r87",
      "r160"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for credit risk.",
        "label": "Credit Risk"
       }
      }
     },
     "localname": "ConcentrationRiskCreditRisk",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "auth_ref": [
      "r42",
      "r43",
      "r77",
      "r78",
      "r201"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.",
        "label": "Percentage of revenues from major customers"
       }
      }
     },
     "localname": "ConcentrationRiskPercentage1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "auth_ref": [
      "r74",
      "r337"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.",
        "label": "Principles of Consolidation"
       }
      }
     },
     "localname": "ConsolidationPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "auth_ref": [
      "r241"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.",
        "label": "Deferred Revenue Recognized"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureDeferredRevenueRecognizedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfRevenue": {
     "auth_ref": [
      "r20",
      "r125",
      "r205",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r284",
      "r387"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period.",
        "label": "Cost of Goods Sold"
       }
      }
     },
     "localname": "CostOfRevenue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "auth_ref": [
      "r370",
      "r394",
      "r395"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.",
        "label": "Provision for State income tax expense, Current"
       }
      }
     },
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CustomerAdvancesAndDepositsCurrent": {
     "auth_ref": [
      "r96"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The current portion of aggregate prepayments received from customers for goods or services to be provided in the future, as well as the current portion of money or property received from customers that are to be returned upon satisfactory contract completion or as partial prepayment for goods or services to be provided in the future.",
        "label": "Unearned Revenue and Customer Deposits"
       }
      }
     },
     "localname": "CustomerAdvancesAndDepositsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r33",
      "r73",
      "r263",
      "r269",
      "r270",
      "r370"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred Income Taxes",
        "verboseLabel": "Provision for income tax expense, Deferred"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails",
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "auth_ref": [
      "r252",
      "r253"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 2.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 Taxes, net"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsInventory": {
     "auth_ref": [
      "r71",
      "r393"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.",
        "label": "Inventory {1}",
        "terseLabel": "Inventory"
       }
      }
     },
     "localname": "DeferredTaxAssetsInventory",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNet": {
     "auth_ref": [
      "r392"
     ],
     "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, without jurisdictional netting.",
        "label": "Deferred Tax Assets and Liabilities",
        "negatedLabel": "Deferred Tax Assets and Liabilities"
       }
      }
     },
     "localname": "DeferredTaxAssetsLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsOther": {
     "auth_ref": [
      "r71",
      "r393"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.",
        "label": "Other, net"
       }
      }
     },
     "localname": "DeferredTaxAssetsOther",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences": {
     "auth_ref": [
      "r71",
      "r393"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from compensated absences (includes, but not limited to, sick and personal days).",
        "label": "Accrued vacation"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts": {
     "auth_ref": [
      "r71",
      "r393"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable.",
        "label": "Allowance for doubtful accounts"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r260"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.",
        "label": "Deferred tax assets valuation allowance"
       }
      }
     },
     "localname": "DeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureOtherIncomeTaxDisclosuresDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": {
     "auth_ref": [
      "r71",
      "r393"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.",
        "label": "Depreciation and amortization",
        "negatedLabel": "Depreciation and amortization"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan.",
        "label": "Defined Contribution Plan, Employer Discretionary Contribution Amount"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureProfitSharingPlanDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r33",
      "r55"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "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 and Amortization"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "auth_ref": [
      "r390"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureTextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Notes"
       }
      }
     },
     "localname": "DisclosureTextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DividendPayableDateToBePaidDayMonthAndYear": {
     "auth_ref": [
      "r38"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date the declared dividend will be paid, in YYYY-MM-DD format.",
        "label": "Dividends Payable, Date to be Paid"
       }
      }
     },
     "localname": "DividendPayableDateToBePaidDayMonthAndYear",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_Dividends": {
     "auth_ref": [
      "r61",
      "r86"
     ],
     "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 Declared",
        "negatedLabel": "Dividends Declared"
       }
      }
     },
     "localname": "Dividends",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DividendsPayableAmountPerShare": {
     "auth_ref": [
      "r38"
     ],
     "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 declared"
       }
      }
     },
     "localname": "DividendsPayableAmountPerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_DividendsPayableCurrent": {
     "auth_ref": [
      "r13"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of dividends declared but unpaid on equity securities issued by the entity and outstanding. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Dividends payable amount"
       }
      }
     },
     "localname": "DividendsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DividendsPayableDateDeclaredDayMonthAndYear": {
     "auth_ref": [
      "r38"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date the dividend to be paid was declared, in YYYY-MM-DD format.",
        "label": "Dividend declaration date"
       }
      }
     },
     "localname": "DividendsPayableDateDeclaredDayMonthAndYear",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_DividendsPayableDateOfRecordDayMonthAndYear": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date the holder must own the stock to be entitled to the dividend, in YYYY-MM-DD format.",
        "label": "Dividends Payable, Date of Record"
       }
      }
     },
     "localname": "DividendsPayableDateOfRecordDayMonthAndYear",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Per Share Data"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "auth_ref": [
      "r40",
      "r41"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.",
        "label": "Net Income Per Share"
       }
      }
     },
     "localname": "EarningsPerSharePolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "auth_ref": [
      "r255"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Income tax expense, %"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "auth_ref": [
      "r128",
      "r255",
      "r272"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).",
        "label": "Expected tax at U.S. statutory rate, %"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": {
     "auth_ref": [
      "r391",
      "r396"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.",
        "label": "Permanent differences, %"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "auth_ref": [
      "r391",
      "r396"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).",
        "label": "State taxes, net of federal benefit, %"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "auth_ref": [
      "r13"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Wages and Salaries"
       }
      }
     },
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r60",
      "r100",
      "r117",
      "r118",
      "r119",
      "r137",
      "r138",
      "r139",
      "r141",
      "r146",
      "r148",
      "r157",
      "r206",
      "r238",
      "r247",
      "r248",
      "r249",
      "r265",
      "r266",
      "r282",
      "r285",
      "r286",
      "r287",
      "r288",
      "r289",
      "r290",
      "r291",
      "r302",
      "r303",
      "r304"
     ],
     "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.",
        "label": "Equity Component"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueOfFinancialInstrumentsPolicy": {
     "auth_ref": [
      "r75",
      "r76"
     ],
     "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/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations": {
     "auth_ref": [
      "r126",
      "r254"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current and deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current and deferred national tax expense (benefit) for non-US (United States of America) jurisdiction.",
        "label": "Provision for Federal income tax expense, Current"
       }
      }
     },
     "localname": "FederalIncomeTaxExpenseBenefitContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnDispositionOfAssets": {
     "auth_ref": [
      "r368",
      "r381",
      "r382"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, excluding oil and gas property and timber property.",
        "label": "(Gain) Loss on the Sale of Property and Equipment"
       }
      }
     },
     "localname": "GainLossOnDispositionOfAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "auth_ref": [
      "r33"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.",
        "label": "Gain on sale of property",
        "negatedLabel": "Gain on Sale of Property"
       }
      }
     },
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r19",
      "r125",
      "r175",
      "r186",
      "r192",
      "r195",
      "r205",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r284",
      "r340",
      "r387"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome": {
       "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/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": {
     "auth_ref": [
      "r127",
      "r271"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations.",
        "label": "Income Before Income Taxes",
        "totalLabel": "Income Before Income Taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerBasicShare": {
     "auth_ref": [
      "r17",
      "r83",
      "r84",
      "r93",
      "r121",
      "r140",
      "r142",
      "r143",
      "r144",
      "r145",
      "r151",
      "r153",
      "r154",
      "r283",
      "r296"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) from continuing operations per each share of common stock or unit outstanding during the reporting period.",
        "label": "Basic net income per share"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsPerBasicShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare": {
     "auth_ref": [
      "r17",
      "r93",
      "r95",
      "r121",
      "r140",
      "r142",
      "r143",
      "r144",
      "r145",
      "r151",
      "r153",
      "r154",
      "r155",
      "r283",
      "r296",
      "r299"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) derived from continuing operations during the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Diluted net income per share"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsPerDilutedShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Statements of Income"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r128",
      "r256",
      "r258",
      "r262",
      "r267",
      "r273",
      "r275",
      "r276",
      "r277"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "3 - Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r129",
      "r147",
      "r148",
      "r173",
      "r254",
      "r268",
      "r274",
      "r300"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Provision for Income Taxes",
        "verboseLabel": "Income tax expense"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails",
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails",
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "auth_ref": [
      "r116",
      "r250",
      "r251",
      "r258",
      "r259",
      "r261",
      "r264"
     ],
     "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/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": {
     "auth_ref": [
      "r255"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations.",
        "label": "Expected tax at U.S. statutory rate"
       }
      }
     },
     "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationOtherAdjustments": {
     "auth_ref": [
      "r391"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.",
        "label": "Permanent differences"
       }
      }
     },
     "localname": "IncomeTaxReconciliationOtherAdjustments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": {
     "auth_ref": [
      "r391"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit).",
        "label": "State taxes, net of federal benefit"
       }
      }
     },
     "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "auth_ref": [
      "r37"
     ],
     "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": "Cash Paid for Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxesPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r32"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount 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.",
        "label": "Accounts Payable {2}",
        "terseLabel": "Accounts Payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r32"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 5.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": "Accounts Receivable, net"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits": {
     "auth_ref": [
      "r97"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "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 amount of (a) prepayments by customers for goods or services to be provided at a later date, (b) the amount of customer money held in customer accounts, including security deposits, collateral for a current or future transactions, initial payment of the cost of acquisition or for the right to enter into a contract or agreement, or (c) a combination of (a) and (b).",
        "label": "Unearned Revenue and Customer Deposits {1}",
        "terseLabel": "Unearned Revenue and Customer Deposits"
       }
      }
     },
     "localname": "IncreaseDecreaseInCustomerAdvancesAndDeposits",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": {
     "auth_ref": [
      "r32"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits.",
        "label": "Accrued Wages and Salaries {1}",
        "terseLabel": "Accrued Wages and Salaries"
       }
      }
     },
     "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r32"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 6.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": "Inventories, net {1}",
        "terseLabel": "Inventories, net"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changes in Operating Assets and Liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherAccruedLiabilities": {
     "auth_ref": [
      "r32"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in other expenses incurred but not yet paid.",
        "label": "Other Accrued Expenses {1}",
        "terseLabel": "Other Accrued Expenses"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "auth_ref": [
      "r32"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating assets classified as other.",
        "label": "Other Current Assets {1}",
        "terseLabel": "Other Current Assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestAndOtherIncome": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of interest income and other income recognized during the period. Included in this element is interest derived from investments in debt securities, cash and cash equivalents, and other investments which reflect the time value of money or transactions in which the payments are for the use or forbearance of money and other income from ancillary business-related activities (that is, excluding major activities considered part of the normal operations of the business).",
        "label": "Other Income {3}",
        "terseLabel": "Other Income"
       }
      }
     },
     "localname": "InterestAndOtherIncome",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestAndOtherIncomeTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of interest income and income classified as other.",
        "label": "Other Income {2}",
        "terseLabel": "Other Income"
       }
      }
     },
     "localname": "InterestAndOtherIncomeTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncomeOtherIncomeTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InterestAndOtherIncomeTextBlock": {
     "auth_ref": [
      "r64"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for interest and other income.",
        "label": "5 - Other Income"
       }
      }
     },
     "localname": "InterestAndOtherIncomeTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncome"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryFinishedGoods": {
     "auth_ref": [
      "r363"
     ],
     "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": "Finished goods"
       }
      }
     },
     "localname": "InventoryFinishedGoods",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r111",
      "r334",
      "r348"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventories, net"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails",
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "auth_ref": [
      "r105",
      "r110",
      "r156",
      "r207",
      "r208",
      "r209",
      "r294",
      "r338"
     ],
     "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"
       }
      }
     },
     "localname": "InventoryPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryRawMaterials": {
     "auth_ref": [
      "r365"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Raw materials"
       }
      }
     },
     "localname": "InventoryRawMaterials",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryValuationReserveMember": {
     "auth_ref": [
      "r371",
      "r372",
      "r373",
      "r374",
      "r375"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reserve to reduce inventory to lower of cost or net realizable value.",
        "label": "SEC Schedule, 12-09, Reserve, Inventory"
       }
      }
     },
     "localname": "InventoryValuationReserveMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InventoryValuationReserves": {
     "auth_ref": [
      "r53",
      "r366"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of valuation reserve for inventory.",
        "label": "Valuation reserves",
        "negatedLabel": "Valuation reserves"
       }
      }
     },
     "localname": "InventoryValuationReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWorkInProcess": {
     "auth_ref": [
      "r364"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer.",
        "label": "Work in process"
       }
      }
     },
     "localname": "InventoryWorkInProcess",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InvestmentIncomeInterest": {
     "auth_ref": [
      "r22",
      "r168"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.",
        "label": "Interest income"
       }
      }
     },
     "localname": "InvestmentIncomeInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LandAndLandImprovements": {
     "auth_ref": [
      "r362"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation and depletion of real estate held for productive use and additions or improvements to real estate held for productive use, examples include, but are not limited to, walkways, driveways, fences, and parking lots. Excludes land held for sale.",
        "label": "Land and improvements"
       }
      }
     },
     "localname": "LandAndLandImprovements",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LandImprovementsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additions or improvements to real estate held.",
        "label": "Land Improvements {1}",
        "terseLabel": "Land Improvements"
       }
      }
     },
     "localname": "LandImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r12",
      "r125",
      "r205",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r279",
      "r280",
      "r281",
      "r284",
      "r339",
      "r387",
      "r402",
      "r403"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets": {
       "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": "Total Liabilities",
        "totalLabel": "Total Liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r7",
      "r82",
      "r91",
      "r348",
      "r369",
      "r379",
      "r401"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets": {
       "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": "Total Liabilities and Shareholders' Equity",
        "totalLabel": "Total Liabilities and Shareholders' Equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Shareholders' Equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r14",
      "r104",
      "r125",
      "r205",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r279",
      "r280",
      "r281",
      "r284",
      "r348",
      "r387",
      "r402",
      "r403"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets": {
       "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": "Total Current Liabilities",
        "totalLabel": "Total Current Liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilityForUncertainTaxPositionsCurrent": {
     "auth_ref": [
      "r13"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount recognized for uncertainty in income taxes classified as current.",
        "label": "Liability for Uncertain Tax Positions"
       }
      }
     },
     "localname": "LiabilityForUncertainTaxPositionsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MachineryAndEquipmentGross": {
     "auth_ref": [
      "r56"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation of 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"
       }
      }
     },
     "localname": "MachineryAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "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"
       }
      }
     },
     "localname": "MachineryAndEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r124"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "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 Used in Financing Activities",
        "totalLabel": "Net Cash Used in Financing Activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Flows from Financing Activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r124"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "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 Investing Activities",
        "totalLabel": "Net Cash Provided by Investing Activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Flows from Investing Activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r30",
      "r31",
      "r34"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "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 Used in Operating Activities",
        "totalLabel": "Net Cash Used in Operating Activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Flows from Operating Activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r18",
      "r34",
      "r85",
      "r94",
      "r102",
      "r114",
      "r115",
      "r119",
      "r125",
      "r140",
      "r142",
      "r143",
      "r144",
      "r145",
      "r147",
      "r148",
      "r152",
      "r175",
      "r186",
      "r192",
      "r195",
      "r205",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r283",
      "r284",
      "r340",
      "r387"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net Income",
        "totalLabel": "Net Income"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows",
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome",
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.",
        "label": "Recent Accounting Pronouncements"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NonUsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Countries excluding the United States of America (US).",
        "label": "Non-US"
       }
      }
     },
     "localname": "NonUsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OperatingExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome": {
       "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": "Total Operating Expenses",
        "totalLabel": "Total Operating Expenses"
       }
      }
     },
     "localname": "OperatingExpenses",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating (Income) Expenses"
       }
      }
     },
     "localname": "OperatingExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r175",
      "r186",
      "r192",
      "r195",
      "r340"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
       "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 Profit",
        "totalLabel": "Operating Profit"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals": {
     "auth_ref": [
      "r99"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contractually required future rental payments receivable on noncancelable subleasing arrangements.",
        "label": "Rent Expense {1}",
        "terseLabel": "Rent Expense"
       }
      }
     },
     "localname": "OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureCommitmentsAndContingenciesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasesRentExpenseNet": {
     "auth_ref": [
      "r98"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rental expense for the reporting period incurred under operating leases, including minimum and any contingent rent expense, net of related sublease income.",
        "label": "Rent Expense"
       }
      }
     },
     "localname": "OperatingLeasesRentExpenseNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureCommitmentsAndContingenciesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r13"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "All other items"
       }
      }
     },
     "localname": "OtherAccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssets": {
     "auth_ref": [
      "r80",
      "r88",
      "r108"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of assets classified as other.",
        "label": "Other assets"
       }
      }
     },
     "localname": "OtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsCurrent": {
     "auth_ref": [
      "r112",
      "r348"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current assets classified as other.",
        "label": "Other Current Assets"
       }
      }
     },
     "localname": "OtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember": {
     "auth_ref": [
      "r56"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "All other long term capitalized assets related to property plant and equipment not otherwise previously categorized.",
        "label": "Other Capitalized Property Plant and Equipment"
       }
      }
     },
     "localname": "OtherCapitalizedPropertyPlantAndEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherEmployeeRelatedLiabilitiesCurrent": {
     "auth_ref": [
      "r13"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligations incurred for employer-related costs classified as other, payable within one year or the normal operating cycle, if longer.",
        "label": "Profit sharing plan contribution"
       }
      }
     },
     "localname": "OtherEmployeeRelatedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncome": {
     "auth_ref": [
      "r122"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income related to nonoperating activities, classified as other.",
        "label": "Other nonoperating income",
        "verboseLabel": "Other nonoperating income"
       }
      }
     },
     "localname": "OtherNonoperatingIncome",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r23"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.",
        "label": "Other Income {1}",
        "terseLabel": "Other Income"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails",
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfDividendsCommonStock": {
     "auth_ref": [
      "r29"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.",
        "label": "Cash Dividends Paid",
        "negatedLabel": "Cash Dividends Paid"
       }
      }
     },
     "localname": "PaymentsOfDividendsCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireHeldToMaturitySecurities": {
     "auth_ref": [
      "r27",
      "r52"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow through purchase of long-term held-to-maturity securities.",
        "label": "Purchases of Certificates of Deposit",
        "negatedLabel": "Purchases of Certificates of Deposit"
       }
      }
     },
     "localname": "PaymentsToAcquireHeldToMaturitySecurities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireProductiveAssets": {
     "auth_ref": [
      "r123",
      "r397",
      "r398",
      "r399"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for purchases of and capital improvements on property, plant and equipment (capital expenditures), software, and other intangible assets.",
        "label": "Capital Expenditures",
        "negatedLabel": "Capital Expenditures"
       }
      }
     },
     "localname": "PaymentsToAcquireProductiveAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r28"
     ],
     "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": "Capital expenditures"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PolicyTextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Policies"
       }
      }
     },
     "localname": "PolicyTextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PreferredStockMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Preferred shares may provide a preferential dividend to the dividend on common stock and may take precedence over common stock in the event of a liquidation. Preferred shares typically represent an ownership interest in the company.",
        "label": "Preferred Stock"
       }
      }
     },
     "localname": "PreferredStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r1",
      "r237"
     ],
     "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 or Stated Value Per Share"
       }
      }
     },
     "localname": "PreferredStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "auth_ref": [
      "r1"
     ],
     "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/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "auth_ref": [
      "r1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.",
        "label": "Preferred Stock, Shares Outstanding"
       }
      }
     },
     "localname": "PreferredStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockValue": {
     "auth_ref": [
      "r1",
      "r348"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Preferred Stock, No Par Value, 500,000 Shares Authorized: None Outstanding"
       }
      }
     },
     "localname": "PreferredStockValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidTaxes": {
     "auth_ref": [
      "r335",
      "r341",
      "r380"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets": {
       "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 income and other taxes that provide economic benefits within a future period of one year or the normal operating cycle, if longer.",
        "label": "Prepaid Income Taxes"
       }
      }
     },
     "localname": "PrepaidTaxes",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities": {
     "auth_ref": [
      "r25",
      "r52"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow associated with the maturity, prepayments and calls (requests for early payments) of debt securities designated as held-to-maturity.",
        "label": "Proceeds from Certificates of Deposit"
       }
      }
     },
     "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "auth_ref": [
      "r26"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.",
        "label": "Proceeds from the Sale of Property and Equipment"
       }
      }
     },
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "auth_ref": [
      "r58"
     ],
     "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/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r58",
      "r92",
      "r298",
      "r348"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets": {
       "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, Plant and Equipment, net",
        "verboseLabel": "Property, plant and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentOther": {
     "auth_ref": [
      "r58"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation, depletion and amortization of other physical assets used in the normal conduct of business to produce goods and services and not intended for resale.",
        "label": "Capitalized software and other"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentOther",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentOtherNet": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after depreciation of long-lived, physical assets used to produce goods and services and not intended for resale, classified as other.",
        "label": "Property, Plant and Equipment, Other, Net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentOtherNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "auth_ref": [
      "r58",
      "r309",
      "r310"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Property, Plant and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "auth_ref": [
      "r58"
     ],
     "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": "Property, Plant and Equipment {1}",
        "terseLabel": "Property, Plant and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "auth_ref": [
      "r56"
     ],
     "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.",
        "label": "Long-Lived Tangible Asset"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.",
        "label": "Property, Plant and Equipment, Useful Life"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r4",
      "r61",
      "r90",
      "r305",
      "r306",
      "r348"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r100",
      "r137",
      "r138",
      "r139",
      "r141",
      "r146",
      "r148",
      "r206",
      "r247",
      "r248",
      "r249",
      "r265",
      "r266",
      "r282",
      "r302",
      "r304"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings {1}",
        "terseLabel": "Retained Earnings"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r166",
      "r167",
      "r185",
      "r190",
      "r191",
      "r197",
      "r198",
      "r201",
      "r239",
      "r240",
      "r295"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.",
        "label": "Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for recognizing revenue from a transaction on a gross or net basis.",
        "label": "Revenue Recognition"
       }
      }
     },
     "localname": "RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Revenues": {
     "auth_ref": [
      "r120",
      "r125",
      "r166",
      "r167",
      "r185",
      "r190",
      "r191",
      "r197",
      "r198",
      "r201",
      "r205",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r284",
      "r297",
      "r387"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "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": "Net Sales"
       }
      }
     },
     "localname": "Revenues",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of accrued liabilities.",
        "label": "Other Accrued Expenses {2}",
        "terseLabel": "Other Accrued Expenses"
       }
      }
     },
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "auth_ref": [
      "r72"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.",
        "label": "Provision for Income Tax Expense"
       }
      }
     },
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "auth_ref": [
      "r70"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.",
        "label": "Schedule of Deferred Tax Assets and Liabilities"
       }
      }
     },
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "auth_ref": [
      "r69"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.",
        "label": "Schedule of Effective Income Tax Rate Reconciliation"
       }
      }
     },
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r0",
      "r8",
      "r9",
      "r10"
     ],
     "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": "Inventory"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "auth_ref": [
      "r48",
      "r49",
      "r50",
      "r54"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.",
        "label": "Schedule of Segment Reporting Information"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfSubsequentEventsTextBlock": {
     "auth_ref": [
      "r404"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of 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, losses resulting from fire or flood, losses on receivables, significant realized and unrealized gains and losses that result from changes in quoted market prices of securities, declines in market prices of inventory, changes in authorized or issued debt (SEC), significant foreign exchange rate changes, substantial loans to insiders or affiliates, significant long-term investments, and substantial dividends not in the ordinary course of business.",
        "label": "10 - Subsequent Events"
       }
      }
     },
     "localname": "ScheduleOfSubsequentEventsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure10SubsequentEvents"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentDomain": {
     "auth_ref": [
      "r163",
      "r166",
      "r167",
      "r168",
      "r169",
      "r170",
      "r171",
      "r172",
      "r173",
      "r174",
      "r175",
      "r176",
      "r177",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r193",
      "r195",
      "r201",
      "r210",
      "r211",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r220",
      "r221",
      "r342",
      "r411"
     ],
     "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.",
        "label": "Segments"
       }
      }
     },
     "localname": "SegmentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "auth_ref": [
      "r163",
      "r164",
      "r165",
      "r175",
      "r178",
      "r189",
      "r193",
      "r194",
      "r195",
      "r196",
      "r197",
      "r200",
      "r201",
      "r202"
     ],
     "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": "6 - Segment Information"
       }
      }
     },
     "localname": "SegmentReportingDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentReportingPolicyPolicyTextBlock": {
     "auth_ref": [
      "r179",
      "r180",
      "r181",
      "r182",
      "r183",
      "r184",
      "r198"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for segment reporting.",
        "label": "Segment Information"
       }
      }
     },
     "localname": "SegmentReportingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r21"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.",
        "label": "Selling and Administrative Expenses"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SoftwareAndSoftwareDevelopmentCostsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Purchased software applications and internally developed software for sale, licensing or long-term internal use.",
        "label": "Software and Software Development Costs"
       }
      }
     },
     "localname": "SoftwareAndSoftwareDevelopmentCostsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "auth_ref": [
      "r101",
      "r163",
      "r166",
      "r167",
      "r168",
      "r169",
      "r170",
      "r171",
      "r172",
      "r173",
      "r174",
      "r175",
      "r176",
      "r177",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r193",
      "r195",
      "r201",
      "r210",
      "r211",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r219",
      "r220",
      "r221",
      "r342",
      "r411"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business segments.",
        "label": "Segments [Axis]"
       }
      }
     },
     "localname": "StatementBusinessSegmentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r16",
      "r60",
      "r100",
      "r117",
      "r118",
      "r119",
      "r137",
      "r138",
      "r139",
      "r141",
      "r146",
      "r148",
      "r157",
      "r206",
      "r238",
      "r247",
      "r248",
      "r249",
      "r265",
      "r266",
      "r282",
      "r285",
      "r286",
      "r287",
      "r288",
      "r289",
      "r290",
      "r291",
      "r302",
      "r303",
      "r304"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables",
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails",
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails",
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails",
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Statements of Cash Flows"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Balance Sheets",
        "verboseLabel": "Consolidated Balance Sheets - Parenthetical"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Statements of Shareholders' Equity",
        "verboseLabel": "Consolidated Statements of Shareholders' Equity - Parenthetical"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r137",
      "r138",
      "r139",
      "r157",
      "r295"
     ],
     "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"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationDisaggregationOfRevenueTables",
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails",
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails",
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails",
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r2",
      "r5",
      "r6",
      "r51",
      "r348",
      "r369",
      "r379",
      "r401"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Total Shareholders' Equity",
        "periodEndLabel": "Ending Balance",
        "periodStartLabel": "Beginning Balance",
        "totalLabel": "Total Shareholders' Equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets",
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shareholders' Equity"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": {
     "auth_ref": [
      "r367"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.",
        "label": "2 - Balance Sheet Details"
       }
      }
     },
     "localname": "SupplementalBalanceSheetDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure2BalanceSheetDetails"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_TableTextBlockSupplementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tables/Schedules"
       }
      }
     },
     "localname": "TableTextBlockSupplementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_TextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Details"
       }
      }
     },
     "localname": "TextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_TreasuryStockMember": {
     "auth_ref": [
      "r15",
      "r62"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shares of an entity that have been repurchased by the entity. This stock has no voting rights and receives no dividends. Note that treasury stock may be recorded at its total cost or separately as par (or stated) value and additional paid in capital. Classified within stockholders' equity if nonredeemable or redeemable solely at the option of the issuer. Classified within temporary equity if redemption is outside the control of the issuer.",
        "label": "Treasury Stock"
       }
      }
     },
     "localname": "TreasuryStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockShares": {
     "auth_ref": [
      "r15",
      "r62"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.",
        "label": "Treasury Stock Shares",
        "periodEndLabel": "Treasury Stock Shares",
        "periodStartLabel": "Treasury Stock Shares"
       }
      }
     },
     "localname": "TreasuryStockShares",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockValue": {
     "auth_ref": [
      "r15",
      "r62",
      "r63"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.",
        "label": "Treasury Stock, 171,964 Shares at cost",
        "negatedLabel": "Treasury Stock, 171,964 Shares at cost"
       }
      }
     },
     "localname": "TreasuryStockValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense": {
     "auth_ref": [
      "r257"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.",
        "label": "Unrecognized Tax Benefits {1}",
        "terseLabel": "Unrecognized Tax Benefits"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock": {
     "auth_ref": [
      "r24"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for an event or transaction that is unusual in nature or infrequent in occurrence, or both.",
        "label": "9 - COVID-19"
       }
      }
     },
     "localname": "UnusualOrInfrequentItemsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_Disclosure9Covid19"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_UseOfEstimates": {
     "auth_ref": [
      "r44",
      "r45",
      "r46",
      "r158",
      "r159",
      "r161",
      "r162"
     ],
     "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/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesBalance": {
     "auth_ref": [
      "r130",
      "r135"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of valuation and qualifying accounts and reserves.",
        "label": "Balance at beginning of year",
        "periodEndLabel": "Balance at end of year",
        "periodStartLabel": "Balance at beginning of year"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesBalance",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense": {
     "auth_ref": [
      "r133"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense.",
        "label": "Charges to statement of income"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesChargedToCostAndExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesDeductions": {
     "auth_ref": [
      "r134"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in valuation and qualifying accounts and reserves.",
        "label": "Write-offs"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesDeductions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesDomain": {
     "auth_ref": [
      "r130",
      "r131",
      "r132",
      "r134",
      "r135"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Valuation and qualifying accounts and reserves.",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesTypeAxis": {
     "auth_ref": [
      "r130",
      "r131",
      "r132",
      "r134",
      "r135"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by valuation and qualifying accounts and reserves.",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r150",
      "r155"
     ],
     "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": "Diluted"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r149",
      "r155"
     ],
     "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": "Basic"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.chicagorivet.com/20221231/role/idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails",
      "http://www.chicagorivet.com/20221231/role/idr_StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 4
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r1": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r10": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r106": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r107": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r108": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r109": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r11": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r110": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r111": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r112": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r113": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL116659661-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r12": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r120": {
   "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/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r121": {
   "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/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(7)(d))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r125": {
   "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/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r129": {
   "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/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r13": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column B))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C(1)))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C(2)))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C)(1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column D))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column E))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r14": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1505-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1252-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1337-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "270",
   "URI": "https://asc.fasb.org/extlink&oid=126900757&loc=d3e543-108305",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r16": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8657-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(13))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868656-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(j)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "26",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8844-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r18": {
   "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/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r19": {
   "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/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "34",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8981-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r2": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "280",
   "URI": "https://asc.fasb.org/topic&trid=2134510",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "https://asc.fasb.org/topic&trid=2126998",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r21": {
   "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/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7(b))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r221": {
   "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/extlink&oid=115931487&loc=d3e140904-122747",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r226": {
   "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/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r227": {
   "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/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r228": {
   "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/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r229": {
   "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/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r230": {
   "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/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r231": {
   "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/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r232": {
   "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/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r233": {
   "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/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r234": {
   "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/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r235": {
   "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/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r236": {
   "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/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130543-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "220",
   "URI": "https://asc.fasb.org/subtopic&trid=114868817",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e32247-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e32280-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32840-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32847-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r268": {
   "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/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "https://asc.fasb.org/topic&trid=2144680",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991595-234733",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "330",
   "Topic": "912",
   "URI": "https://asc.fasb.org/extlink&oid=6471895&loc=d3e55923-109411",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "https://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r296": {
   "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/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r297": {
   "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/extlink&oid=120399901&loc=d3e537907-122884",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r299": {
   "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/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r3": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r300": {
   "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/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r307": {
   "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/extlink&oid=120402547&loc=d3e617274-123014",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Subparagraph": "(a)",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Subparagraph": "(d)",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99779-112916",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99893-112916",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r311": {
   "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/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r312": {
   "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/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r313": {
   "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/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r314": {
   "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/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r315": {
   "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/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r316": {
   "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/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r317": {
   "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/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r318": {
   "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/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r319": {
   "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/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "https://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "https://asc.fasb.org/extlink&oid=126945304&loc=d3e27327-108691",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r322": {
   "Footnote": "2",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r323": {
   "Footnote": "4",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "29",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r324": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column B",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r325": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column C",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r326": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column D",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r327": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column E",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r328": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column F",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r329": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column G",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r330": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column H",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r331": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column I",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r332": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "09",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)(4)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6935-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "340",
   "URI": "https://asc.fasb.org/extlink&oid=126905020&loc=d3e5879-108316",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=122137925&loc=d3e14258-109268",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3044-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117819544-158441",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r352": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r353": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r354": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r355": {
   "Name": "Form 10-K",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "310",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r356": {
   "Name": "Form 20-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220",
   "Subsection": "f",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r357": {
   "Name": "Form 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "240",
   "Subsection": "f",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r358": {
   "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"
  },
  "r359": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4273-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r360": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "405",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r361": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r362": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r363": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r366": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "210",
   "URI": "https://asc.fasb.org/topic&trid=2122208",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r369": {
   "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/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column B))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C(1)))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C(2)))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column D))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column E))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4304-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "340",
   "URI": "https://asc.fasb.org/extlink&oid=6387103&loc=d3e6435-108320",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=126905981&loc=d3e2443-110228",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "410",
   "URI": "https://asc.fasb.org/extlink&oid=6393242&loc=d3e13237-110859",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r385": {
   "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/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "https://asc.fasb.org/topic&trid=2127136",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r387": {
   "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/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r388": {
   "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/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "https://asc.fasb.org/topic&trid=2122369",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32621-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r395": {
   "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/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "50",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=127000608&loc=d3e9135-128495",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "50",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126928898&loc=d3e9212-128498",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "50",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126928898&loc=d3e9215-128498",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r4": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "https://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=6374474&loc=d3e8352-108598",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r5": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=124260329&loc=d3e26853-111562",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 5.BB)",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "https://asc.fasb.org/topic&trid=2144648",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r6": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "610",
   "URI": "https://asc.fasb.org/topic&trid=49130413",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "710",
   "URI": "https://asc.fasb.org/topic&trid=2127225",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "712",
   "URI": "https://asc.fasb.org/topic&trid=2197446",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "715",
   "URI": "https://asc.fasb.org/topic&trid=2235017",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "720",
   "URI": "https://asc.fasb.org/extlink&oid=6419918&loc=d3e35281-107843",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r7": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32632-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r73": {
   "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/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=d3e5614-111684",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "60",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=7493716&loc=d3e21868-110260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13279-108611",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r8": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r81": {
   "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/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r82": {
   "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/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(20))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r85": {
   "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/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "405",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=6957935&loc=d3e64057-112817",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126941378&loc=d3e61044-112788",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(10))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r89": {
   "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/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r9": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r90": {
   "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/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r91": {
   "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/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r92": {
   "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/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r93": {
   "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/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r94": {
   "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/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r96": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "840",
   "URI": "https://asc.fasb.org/extlink&oid=123406913&loc=d3e41499-112717",
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "840",
   "URI": "https://asc.fasb.org/extlink&oid=123406913&loc=d3e41502-112717",
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef"
  }
 },
 "version": "2.2"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>66
<FILENAME>0001193125-23-083675-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001193125-23-083675-xbrl.zip
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
M]]6^M-"=N %D_LIJE,>DN[6K8L-:S"?00B<<]>-D[OVKOP!02P,$%     @
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
MJ=42=5X&Q#O$9-3B79RTDH)OWWSW753VTPM%F?+/)TGI=NO/ZZN^,X8^:**
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
MS]XUJM2U7H_?Z':<41"5A=7QF^PI5\=O&JN<'+]1'4@HX2? +4T.7XHN.C1
M9>J\7_L\7]3X1G:^:()!/^20["U^&JV2,DJ3?^'XFN0K3,HU(^)@;WDUT]Q8
M*6#2QW%6PQ<?+9VH4<J)7$2(M0E[W5ZX$<?YJ\>#"!CFT9R'#0>WE.JPTP#"
M<#BL"YH,R20ZHC,<;Z EBV&CZ'EQ%PZ[ITU9J "+QY O^OH_2XIYFA<5T>8+
M*!]Q$[2EM@>"_Z_08<AW/R;='XY!,A@/7\ER72,T@:JJ)QPDQNFL@1T*A1?0
M;-#E@80WHQ'P<TJ(2Q8*2[_E3TF,XY/UAX+=?S/VPH)Q'L_F9?+$%ZBR0T1S
M > S1FM;06C#I8A^;O2Q@B@;76BKS.&>:YH>*H.*7'1S+X>QUJ[JG=6.0ZZG
M,PZZ'ILGS7)M^$"CU01^>M'7!SNJV,KC>Z/9,B=E\B_=:G@_F_E^W_L[=XFS
M_=9P:+(/-=]X>7MG]19DEH VV8UP](5897T9:KJEU@W2&@+*$?$")G'RI$%0
MIQ$4-L,Z(5BICPG=UMH8;Z;R_D>(#0S"PWWMXE:!@XF"%&95G% YS4Z],UI#
M+2"A"A)M(&0*D<C@[,=WP(*DM^V8!95S)PUQ.U]B\D!?D-^1_&/YR+CWHJR;
ML*!K#0]S4UKA(-"MD8^$ E1K" @C!G[H![KIAV,B[)RR*#N"H],\'@IIVODU
M!!U#>D 9MSSJD0I$3&) PS_4T?9X2SWJB567&I^5(MGO)BE^OL:$_2!ZZ 7$
M&CT"Y]K5VP.*G]^(8[G81# C%8@-%UI&_Z1?F7E5E'2E3$);7IAXID_0:SA4
M?KAZ%PO,3@"VV:0W48EO,.M\DHJM($\HGV4QYXQL99U*L @2"6;^== ?4,0+
MDXW*3<H00_0"4U1&*;H7]1\.T+\'!F,73NNQ"[M"P60\:#=TW/#@C6OWMQ#6
MLP$M4'PE+-6;XND=9X#' =W%2SK<)CB3^=7+V^ZD2E*6M'RY7)'\2?!_*(,^
M% ] WU1Z6R X::2CMOA 4&+N@>Y+Q7 X?*W2^''!CPG="]3KDR;2:5W3.[+7
MW4/&PDCDZS8;(0Y6<B-L=A+-5TM'6_&!H7&<;P96=V,'=&K"3YY8+E@EA\M%
MJMLZH/Z46P!+O^WQ?P8"+:.N#[!_:KSOY?6VBU5>R4S4AJ*OW^L\3>;K[TA>
M,$O?X[)NO+WSE[SN@$*AKS\W?8)@M?,6#.CDU*V/NJ]%AP/OAY* VV0:;21K
M#28J4%L!>FDRT>'%.VAZW*,L,'"\G^O&..:HCM*+)(OH#I?M9Q<Y6?)]KGD<
MI+T<\*7E6,LAZ/LC.D1;Q6BC&;54HZWNP$ ZVF6]>T?0:.\S<JZV=WSDW)"
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
MJ_D5[DB4T4TY2[&@VW/27? KFT+0H-,/6MK7LM%6.!+2 P*&S@%M@!B-P,1
MF659%:5:D.PT<P&0(;U.P"$$APN,H8X/@4+J\7T&8//E.+N@I$K35C2%_+#-
M2LI$0=0ZJ\';*Q%&(P[DZ%=K(6)^T;W8N08"0J"3# .AC<;63_17JR2MR#%D
MB5C*^A[*1\ 17@;V. ]*W"@]0'46*5,:&")-/-,+\3(=*C]YI"S$IR8?:>7M
MJZ,+-0^!LTN-; *QK6RX[)(2+T-#E5G_>[F;YH/B*X:U6E:<=;!-AT'_GN*:
MOF768L6PY4EQ)MY!_*O3?H("RW!1?(M:%J&V22[34WUVVHQS973?]Q0I[-1_
M W'$[F>'W_B]"T:Q21<%O R-=)D^V-A9!-^@#9 )V@A$#TQB8*!4=UL:Q"?W
MO><RMHP%+,]8V.G50G(7QR]CS,O;VDMT5_9V=&^ Z16MJ]OM371#E!P88AUX
M2UXP%S;XOLB$ZB),["5N5/Y;^8@#.B&M/3!X)G3#3K]AO,[4CK; D&GBB0&"
M(;.A\9/N$ZV7 OR;N\36_:($79J'P.D^1C8YO"Z^CA)5D,H>[#=;#-MU8R^I
M2D:NZ*4JF>/+[VFS493:5-%I$T:ER18$3D/3I@])N^P%H04V'2Q#SH()-:LC
MRV4;M,VOX96F=_5 ,,U*K-]&:7"I*MT^]LLP#SC34T A?;L^YBGU1\'.!LJU
M;.O4;P@/+)3I!@5J<$(T'AE5RQ:%4)!0X?#E!K/?@-4M_$Z8$+]LV%YJII#
MC%=0N]!?F=F]GV!56=_[ :O*J>LG\WM[;R%YP;1;@#.\^]K@KY264(<0'FFJ
MP=O#S-Z]9*#W^]S+.I>@8:+0HSHV\GVT' I.;/\6$F@TH 5TUUE'J3)Y@8RP
MI)?M8"*9,R<E_[Q(4DQ.Z;[Z(2?=%8ZL%9SN<U K9,1KGD\N%S6" QIZ1;?[
MM)YR;^^E8"PK6WNU8)%#)#Z+UN_RK'R<93$K:BOY8ME(<%U8UL!:4.ABZX")
MZSM 9[S2]0()G8& #N >725:T]$<7?OO[O([DE>K657FRYR5&[Q=%RQF15K_
M3_, I :@F2V@-=3+RY>(*T%;+:A6XZ@>H+M>6-8$5';N>=4&-/-ANSZ@!2SW
M4_.LSP4H>Z$;/.F\/IG<.B<YQYPJF2M"3QLVR*A1%0CP1CA'6V),,W;[@>(F
MM,(4@=L'G .O9XL+$HBU8_8'-U8;43^$LI V[[IV#@RC)P!VWM/'B#Q00_/3
MO.!A:>*R0S(KQLF:EKM7TP/033477?"*WDVN.5MY"[Z%P% *\I(=:Z_)0/N-
M9-S86YNHS.30/>4LME%ME?-\CEK+ 0KU16KH&&D8I,%X>3U#7U_DY /M-2FC
M)*/O^NM<9&IJ<CN,'W=U^FYJ)R@NOM'%HQ@VVGADXT9?8'BT]8_L;-QJ(,<C
MM"!E"YWT7UMDTG_\]"[)DF6U''SU]7\_%EM231#PU (#@8>TB\WXJ[TYV0#?
M4)<-E5+8_1UD8'L:H-FO25$F\RA%[W!45$0LH((J<C#8Z_8X#SO63^AQ5+"#
M3O8'NRU^BE)VSF48@VST+#@8V<9"<,PHI]9D?VGI$C^D;]YDP8_S>-1RS3H9
M",1&.:L7N&P]GMXHL)*2QXLRZ_*,L?3B;)[@XBPIYFG.9KT^7MY*B M:+'N;
M(>C]!AVBEE:!V;;>T) ZRD-#5%DCA]73YK'$%"YL \L3>^N 3PU8=4_!-X]&
M5D'@^ <*1RZ[#C8.#'V&'NCO$LT'9D\,Q)O:OW7%$PWGO84 ]]S$.EN!YVH9
M.U>CV\-M86=Q4,K?C>$&3-G[2<\%;#2HOJHU:&N=[[9Q4&/!;7US%GBN?:MY
MLU(9'&ADZCY /MC=@5(-^ZQ@WDI)XL'9Q6515"9TJSNM'3*L#ED!>D=RT8C+
M/A !Z,4!$O(#PXO&"PH*5>E@^,&0O%Z!^@#7X$$PLHQM@X#L65:O,'=-#WEV
MX^:+PR>OZ!;I!L\QW=;?IY@5P=%5GI0_XH!K1VL/*%:ZEH^V"NAVA#'+;(-A
M^"'.;X^_/CHX.CKBF/SM\1_Y/PX0[0*K/9X\X=1E]HVK;FN2)#>])QL](5:Y
M,/'& !^.&2HG)BV]2(IYE++HT OZD^XR5M72!76I1#LH@JQA+Q6R$1..N/1
M4&/0_R$24Y7[)\U!N'W$:<JH1Z),GH*PTPB>@3"DTT$" A>+:KD!P4'>Z7[Z
M@=33$Y.@GW^:\W,(2:[18#,79.A#>D'W;+5<U @.+0])U?$A3G2IQR<"Q!V)
M6'KI[7IYGZ<#2-C]/00"@YI P?Q"(!(2 QKSP9ZV!UON5*_4.W?Y;/Y+E1!L
M2XYI(< 5)8^YK;"K5GX**4@\XJ2L2'"GL/8.D9'<6(Z>MZ#&@M^;B0.VYF)#
M>DL@:>XBC%%E!RQ*7<@*,Y16U_.A $7M$'C!SOEB(3;'6P;VJ,2[+.R"Q3C^
M9R5,EAWTCQ(%Q1S$?@@>KS%91HR($,4)-8'N6>?LN/7? P,FQ#U=T(+'=[I
MQNB3.I!QY_>@0,8A3:! 1B$P$-A(N[@3R"CUII^%F.S#>[*^HVH'PAUMG@0O
MO<RM P5/Y]G#X5LZ%V-T1W^>L$-1?A\>5K#D"*_T%EZ6@S8ZJ?L\B]]%Y&=<
M2K.XNRT@:=L2;; 3GA@)F8Z2L@$V6F9A;TU_7BG7$@^U<ZQ5H-GO^](L+MCX
M\<G>G)-P%@M=!XAKXS=&&WV!X&NL7XQ?H'N/!?Z05445I5?D,EL0_$O%MD.,
M?L \$-A& A2?(ZR%0/0-"P&^^N'R[/#X36"('.&)+BC'#MR>XC";J\J:8$9Z
ML*)[SGW4I<0R)Q?NM4STZVN7O !.^Z"D!^AV)+!I9.P(?42H"F?["EUF)P&;
M2%41JVL\;P8?GB!D66$C9 :)6/DZE*&)4W;+KN&^,\JI--2CX*>3RB,&4=8Z
M#'HDLV<ALQ>TMR(GIJ+VU(;E&2LF?Q(5R9R'1LIGF)44-^3WUE9#YAR7QFNF
MBAL"MEM$!9,>'D['^&:8;7[<D/JI8ME,G9KL0_;V[[<#UZJ4:09=G'-FWFWV
M22/;X3L=9+<!K;"5\?N8&E('].IJ*C'CFQ;;C+S#83'6:0JP"I TW_C).;-'
M6&Z <3OS]\DAHJ\>&T+%V)8-LRSN\]%K,A*-'W<X)8SL=,%<0W7QD\,QQ1[V
MC#PC'RGP:#Z8?A)S6GP.5XLZ16-6GD:$K.E7@M% R9;&1H^"DW,L[ .%8CT/
M7@L+;_0R<FR':]+ \%YFVE55%F7$BX]TX&#X$#QPW,0F!X'D0^F&J*4J$,S9
M^:4?:VX\6),707A?#5Q+#S9Q4_Y@5Y\#Q#"A2$@-#AS]#@]7/1CP\-Y*'ISA
M>4H1"2AY(),P1<D#C;6@?*=:'8JY#D&4'5.=@< ,X!:34@<FH^@%I"=5DK+W
M(EL=7BY7)'_B_&W%=T3.#J%^!@I$(XM IXZ- KX12%HJ L.>D2>Z:#,?'+_D
MO3_FY.?+[)KD<RP%EJ2Q,ZK>01L@4&("&<'-2H@,##_J?DL)>.7.WR,A8F>[
MH#G"L),Q#4&BQF)8]HZ,*-'MA>5D'5/>6TI[%]CT&N4=,\I'$Z3N*4;@?+E*
M\S7&-SCEA=.UE2:M1+B/%]#;"XR[(16.T8_10W.P&-&%'3MEG#IVP$W'=,$X
MDMX%-A7'>$<?36"(4S\,,MO\G+N\R=_!._Q<=SE[B_!"\S&.3]8?"ARWB.=F
M+ ](' 2K/YZ3J (SUDS8?] +8&L7JR"RL0QMB=_8S]F_^.>,&=6A1-S8%=BD
MFM+E/5Z9J3'G:9+&O"1 E%Y'"36NSK)6UBE1/P.?-@86P?#?*$!,PR&%=I-;
M[O8#Z*PGZB^>M#O!34X#=_1GF2G6/&6YU!6T^%']=42N""LG@&.^Z+W&1!4>
M9_@P/,/%QD98?DM31+"^GZ'***R04(>X/D05BGN;P.!HYZ9^NHOU6'H!Z UF
MM5YP?!Z1C!^IS>?5LN*+P3.\2.:); EE\" 4F.:V04#9:$&-FL!P9^Z%+N8L
MAVC:*VFZ[B%1>IG%^-/W6$Y7UFWGX.)Y6#,,,@\)6X!E=,5[^7T@>-'V>. 6
M><#9[=Z\I7_[ZV?-3^C_W=--XU\_^U]02P,$%     @ B8%]5D/S$<YI(@
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
M ^RHU+8H G/@^^D\#?GD=808GGZ>J)=]#E$&*[/,<YY-ZI_9]Z!F )>M->\
MZ^U!"4]WG7)+Y,, ]E74]1SH#1K*RX,YK;MA[9 .C>QYUO@R,B%/;HP\'OR:
M=1.R0JS'9@:RDGE9'E6A6=D!@Z +@T4^3];7O?"&T"S;>Z;!X\R+*AG@Y>P9
M-.  @R9P6.0:5<V6V;B#*SG EDIMB]PD4W*<YL68DN^ZGA!IWP37TH3(]'F]
M3(A,A3Q-B$!13QDPND9\TV7#D'SE\WJ^HEGN RJ28&A6MN0, 'A 0Q<#9VB3
MYL+0JMHO96:=4I]*"Q-BK.5D<^<A10%.WI-8?K1;6L55XN0X6.0S@$$34LY4
MM5RE38F&1;[$Z8QA;X-&WL&*!<6=WE=E74L(VNI:^B^G-0JMW:RT0!23@,E&
MDY[V.>0:#V<>G:+@D?!\'7PC0'KD:+>VW.\7($K.C.\1XHGU^>&XW::DF^KN
MLUG%PJ)WX\$-].?+(R!OHTL+\;$U(WT=5;:B>[G==TS)$L?L46P"WKQ;O:WE
M/-/G];*<9RKD:3D/%/4&L5'AA4WDBN.T/.TSCE(<3>_8(/!D+X@=&G)@67 7
M>"Q:NB@V)S+#RF-4V4/"+2T 0O7J.L"A)@@6S=7*!/Y MP,(4]5R@"JEXO!\
MS/"=OD3TB?26C=6,6(<)-22R\]W2ZDQBLTEX/9D@Y@$LT?K7>V8[^/T&D8_#
M,C*R_0G7;A+T/@7;3>S3I$QM'NK( 8-ID!2S%/Z&2_E*;PU]E5%IY1DNF:)V
M0+5HEJ<SZG;K)&VT[$#7: 5 B^:/0%?/@\J"?Z1Q(CN+IUO; 6*U@;!HG4^G
M,VHRN5-3#M"Z&T06'5P"^F7-1:U,L,P&*MB* \P: V-1ZGB=7FG(\%Y-.D#W
M?I =.I_\R:'?VZ'_P;65&7&/-%@'-VC  ;I-X!#W@!_M6-(I5Q;9U]F=AWS/
ML!+%?]C5',V'6[20HRGQ:0U'N8;/$*P 9WH$W;05!TR*,3#[!UM9<:!\:TBM
M S/5W#<KN$7SEKI'<:/>EH+L0_E=,3D:DCG_MSQO5.:H7G^- H8@XA$LNEU@
MKV>XV&OV ]6B91T-S<H8)IYK(S^M&U=C[D<D?4HF:5@>5MN]SY@^Z#@ZCC&\
M%BT8;:DGRT$$%':116G.H5Y6>;9$K$QBX*PPJEHN<M-4'%Z.V7>>UIGOF'6W
MM4.T^;XU_U#Y@%Y\0*54)S]/WQYLQR?KV@1!31?M@@@ 2^Y%8%XFFRORRQMP
M-.6N9EOC&FRXE_$,2G,:Q[)QC",4\*5-BI]2SA)'KLAY1#FX-,N$Y]%5M=!@
MSF>+\!#?IU$W1O]>L%EB&+ZOO (K']LR#XKF>S$2"IE.ID*RV<>\R"RJ((>L
MO%X,W.T#BCLPO&%5+8I_RY-2DHCDFU'1-)<5H ,J[0 ;H**M+:CVN_D*Z"<_
M=*RHY"ZMBE/$.QQZZ.NVPC\\H&EN0R:$SO.HCO568_';/5KP],)<^76AMEZ_
M^SZ_E_?SOD*?7N"@J*<<9KTA?I7&S%^(XZ(#QY+49?(ZEAQ55Z=[$6ML$S>Y
M8-*,9/4REF OZTLU*NH*M@?]UFMG@L//-U[,7@.("I--"0HX J9(M?:./ B1
MY,N)\Z=PM8X% 2&%2CJ$+:AL>WO80I _L5:STGP1A[+I!/L$XBPI[!#4,I4M
MVO,])4/K[0#5/5JB* 7#<M8_6P+S5@>I0KW1Q:(Y1_6.&7#MO%+$!:#K.AWX
MW5C8M[MRR2#?\A&8;*"@S8#*]#OPV_ !A2'/!QX%@V#.+\%-^..7Y5I,+'IU
M"$'?H1G[*=D%F]:R</49Z_F..0X\V>U=].#QY9=:M+(JAENSLLWTF^)@4;Q6
MN6/!NFUEEPO<JA$6=H$:2,_]H[(L&']C;Y7-YA_)P&>]+(MP,#I'8=" "V2;
MX $?S.OCJI@LM/8>^0@ON6_P$27*VV+@*BY0)=<9/C/GU,:=6W>XZQI4]27N
M;ZVZEW:'2RE=(4.N,^#8OG)M&.4Y*[(@2MEF=U'"!=YJ&@$T=1[L)=A993]Z
MTRGE@><\=\BD6#0YX :TXHFV;#DKQ#QM,I\VF:U95#QM,I\VF4^;S*=-YM,F
M<X^;S&)+$=.D8B787QL+P?[@TWM^Y\8=?4!TB7W1A89@,4O@W[+1L%Z'WNC4
M YN?@R[$$M]&*"_;#^RJSM( 7J3C@2WS($W(G/!]$=B0-(O8BZ58HP.;Y(^L
M636*HE)V RG4JV?+N[9?[Q"94F_!W<40,+]P69MML$3#OK'/W]15N4!##)?M
MK\\K^\Z: EC1 [DH,?)?3LGR(EM[IZN<A>*/#0G%%Y\_/300K_Q@.;Q5%2P*
MH&*F[I/\BMQJ"<LQ%BIE46JA4Z!@;S&:Q7+H#=,J.]WL^<FO.)D-TYB]YQ&]
M?O;#-.!!,\SQ8O_C21+D,85&+5E"WE:W$X0?FB%DR:GPAW0^]^CJ;K)>]\Z2
M1]US93YX_R"TU**U_##F3^QEH\!<S--&P6FCX+"+T8K)=KU; AZ.H) E-E;H
MVHATZAGFC]X<W4UJ@H$^#5RVOPDAW$U*T"4:'GAIZ?'V'27I8K,>\["*^6L7
M7")15+ 591U=#[P$-20\WH2-OBCP:/!G$O(I2GP;^2#6JAHV@ZW4]L!1]V./
M?D'TSUX4X0F.RN!Q]C 0;54-F]%6:FN1?W-R+7M;0F'>DH^B).\:]SC^,D:4
M?^%-T25 @K2*)71(G46YSA:%,PR" .=R5&*E!D\D3:ZC!">K.,_,P;M>N1\+
M<+9+2RY0N1-"\N'7F=\_)/,YSJ\-8VYM?MO)%$5^BQ>%:#RB%\]>0ZZ3*P\'
M\);'%=\C+T:LBT=)<3H.CLV6UW' T5<H;9'5;DAZDR:LQW_ $9ZG\_)(S2A%
MM>\?4F:A/)X]GD$?@G'9+;3L'M6[ 7BHVS\Z7!9^BM%O*>_GRTSCUA9_Q>WV
MM,0K%N9D_4%11WB) T9!S(8"G]>,V#QIA/R0C;U@Y*T^L)?IC+U4_XX\\.8&
M@Q8<,!=&@%CTGFC*G2<K9KX(3ZD-IG.75W*0KJ;:%CG'35'EATBAT@YRHC@Y
MVL_51H6,E5'^2*[0V,.&9D^C 8<HTX'#HJ4^D;'FV[L^$VKWMQ?4@D,\:@$B
MSW@!3DV+'_A_GM@<^4_?_#]02P,$%     @ B8%]5MLBH6L)K@  WI@&  \
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
ME(_147D7&%?N XN-?]K#T3M##'8SCH-*2K+FQ\1>G_Z Y1&>&<' "-F=&\5
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
MRY=_@B58% .?MV2-@2>HEO"$3?#O6JMPM"HY Y_GYCSFR9V<\,E[X&S$2MW
MR93;Y6G-\WE>4.+8F<]34B84L5T]D^-RG\D\=V?"O="NM4,JNOP<A RV8/Q+
M:YHGDC(O0_: :2EG/O9M7%1M+>047ZH#:/L>H$)"F=6RNX"L>0[I$Q<SEH,P
M,J?:C G?BAS;P(Q?,%D8583-: 6%>ZZMV:'H4O"Y>;[KY,".M33QXEE7\0=3
M[G";-<]#*3M,&1>//I#1O3M"I\@Q"V,;+(-/S&= 7ZAG\]^1S(I2_Q=VIDK_
MD\%=.5/.7D/X6U\">I4[AEB;YW.3B$2GA-H*(%B4.C?J,<\SGR.S(-2:NTS-
MLI12!E0LAXVP2G$Q(5)Z3"IW\+,VSS&8]!A-_!+&9R8RKZ^Q)VU_$V;F3Q4-
M_>UEZL*E#X?6YKE:3W_<N[>N<*]F^%V-Z_X]<\;>9D*)M4[AW*N@8&)>YS7/
M=0DF_=# 84K&]7@(KW\JGE%-G4G21V#ELHXUZX)JDU4E+[8X9,52B*42S=_?
M?KSL7=U@[O7$0"Z;)NG9.) $T2S_G2Z]T+.;TZ^&91P:24;R_"%BZR[R^ZTC
MK^+?ZAV.WK^%G^<-9#%>8ZW6/_\:!_$[4;'%_WA#59BIDBS>M "O]^Q'560F
MYF ,#-FR'@,N:LJ5U:VUJ=-I-.Z#]A+QLG6\[U; B:RQC$5>X]@6VP/##9?)
M(7.C%8X&%-;F\9WX,3#$D$JUKH&85HZE^N,H#I^.U%=<J-ABGK7!Y$!K_37J
M=O%<K'&+W"AY/K"",;:U1<\F/BZR>;?J$/<0F5A=Y!RB)QJ+\E,O'H'F$?&.
MB5$_!+XR%.<Q"@-GW(\C?1W3JYQ>T2ATX?A=[REK;=@Q .<3 [/N\\7! V(J
MPA/OQ;6H*S+>I]9,G^( 8Q^J49Y\1B75P&B;&']#_?VD+CU,\JJTJD25V"%!
M3@60\/MY$&)@4+0HYG"AR<X*C50W-CAO7K>(S*#OBJ)%QL>$"*T=OG"5E143
MCE#E8L@BC!7C@Z-*.4"FZ,>5;<3C+&K##>, )< N@-%_1 .$OLIFB,:W6+4;
MNS8OU&<QI<14DB)X(/L[CZDJ?H?/&F4<_I-0OIFL#Z8'!F$D^V88P)7O>9.^
MD"] =*#2:""4U*98!$[-?7 C62Q+MYOX'5S+9T7QY6'=*X6*]6WI#5W$!%2Y
MW,2&4WM_0%[2%TL6U)F%D@<:,B*0 87[L*:_*#OD2:R?;,"2((Q$#<I5P^X,
M#\"#,'47&P'(^<,2,%<8U1DSM37!KT"@4!.-01@,!76 >%!W \0>J(8!SP:]
M%LCBB*.+O\P$IM,<+[AU/4&'&AWCP8#&ZJ?9K ?K\_!.)98(IQ'R$^>$G (C
M6LS#"F7NXA$B#5WRV-E7/4Q@,^_B)!XG%OS-=[E3#U%?KN2$]P6A)@@*&BC<
M$HA0P;\=PSNP9ZY5_<=$L;?B;"@=4$NA!88"_&GF!0_G0[H/Y91N0X[IQJ+V
MBFPEQ'C3*GL$"/H#CB[&O5N-?Q!H+6NY)2  :(-X,PZ"-I&,1KR;DO<TM<*;
M,^,74(I'1B\YP^LGD*=#H.HO7XZ?7V13++*^[B*?72.?K7THAVNK, WE"SZW
MO-I*R[+*Q0& <RFJP4Y;]Z"4!*'H^,M[06,+8&306N.;@1M&V)G+&T@0X(C4
M<NT,F_"().;01CT-91Y* &17MIQV"<L78L#46!N*C>=H_8;Z=R []+%/3#".
MY%-(B]1>QX67SH*<@/&>\O<V4 ,@8(C8A,@FI2M_%$<YWIW(35J-\Z90VX?T
M)6S01U4X#FV'H5B$SZ!+,3]"6 Y"$+. 3(*' T6@!:$:.N'^$?1@7](D-FP2
M-,2>$!@4S;(R- B68/,W6>?)_#O[COI=Z-M";9&ZOP@AXB)T;L?P@TT9+W Y
MD%? IV>0"H&0"$$<*?W=09$43%DY]A!Y$\W(]*DGGKQ?NUY[JQ1>'LH>E$M(
MLD(FX?(EQI8 O+W8F!JU;*:(2&CJR-\[QH@%(V^3FM4HX%TAC^Q;X//CF+W+
MOH_OC-Q]62UB::_+HALR:3] YD!9.(%*$)\2;/*21/]0QLND*&M-BC(<_A7$
MV(@.GY8"[;;<<_4=<\^E&FL*GU=C<9_7BDZL'I^$?OOQ4/S72%=VE\*O=3$.
M$^;N1OJX"5TPA[!R+C[&(!4H5(N,3"(Z=8)5;A/*/(MX0RQ@#K(/$6DK@><%
MC]28D3\13 W2;X)^?QP28P%"TM9D:F9B7Q:&\ :OJC(C(3RX9(S=TIABH?!H
MVT%S%(G+IFZCS)'+[CG\>6B"9F^0V'&?3Q* !_ )1-2?UB!S!BR(1Z9=X# V
M%!V@W*'2<X8VO-N+@M2JT)R:6-D".\?;,K=>-,^]3:,*KD.#.RE0J*-R)0LW
MC,?O@K;-P6%F'(-$BN.+W\Y.#JVN <0 ^HO;KSS;\2L';[I+?B1!"&>^; I7
MK56Y;/L]" &-?F6V%]\;%]JTX0F?#5[K!VBE]@-0S>T'-P3,>"W:^LM]B3[^
M;X"BY Z5*GH)A^DZ6D?<E)*+[>(\ZC>;@E,PCHG9(HG: H&I#3/S^V!57?C&
MO\".QQ(*T0MP[K;4>VR#-P245YW*QY)KFC?F%6\\1D4RQ!:>,A^5C'>Y-O1'
MBP57X$ZR3@%5E$K)L9B4+0$4T[BC;#Q1#T(R@BY]I'7'0?"=G".HXX]X?BLO
M]QF"$4^U/JC!A>1=#U3S8'Q !)?;C@0QG9(^0!-[FH:8/HM[" &5P588C#T/
M:1P]MDB""O.C^W'L !O@-  *(B]8H;[2 5&KXZ*/JT];(Y]FPBA[$75)Q9V;
MR#G8#VQ3BIDC#AD=B;+JA,%([0=62W8S9QU">XP8L@7T;-&(%=@</VF)6G=>
M<(N( 5<%PR>*0XR\,=B/V.:3^#LV7R5+0"T/CCP8W]TGNU6<AP-W' JW&Y*\
M(]5CHF3D\W)I8+*%J941IT0MU]3:/BMK0E$%L1').,@?Y&.'3/(6X,MLP2,U
MSL-WB_UJD1W";XF.Q?VHHY'GD@<-53<PG&W9 !C>'"5+ =FG.#_=^>BB"\K]
MSLCZ-F(W<5"!E GY"_75:V>,,L'V478 XF%B-A\XHEX.BE,?]J TO4D&2)-,
MT-*\#0,;\5GNW<\X61V3^5R3(:Z?;-;$?P=7Q7R37(@]RE$\\M$)N7+$)CN7
M"V\)(P+)+4W(3$NJ;&$<A%DBC)M<VING9#:]GVRC@1CH(KO BYZ^"#905V<W
M+5Q?V'VQ;_&4<'R1C=5/?)&"ZZ#X)]_%4+1AE#@G8%^X_.+J^)_P5G?PM)BB
M][N(*P1#12E$I8?(X)X2.M$]Y+(]?B@$?(I;98CYY'=J,LQAAV\C[SO% SR"
MJ\W)6' J-T37ONNYNDK9PY=[ ;&KYQ[%#P;D%W!XI,F)?<%Q.:!M"W^@8=^Z
M% : Q>+9T>7\S/C&&6:)NUR7$[&:F2N\5.OS4L@BED0*GX=B!UXFU^=(SP!W
M8A.A^?(GN2&,11)ZW8/)@_SS 1O=#!GGG3[CC @V"6MCZ*I!27_/O)':EF !
M^'_B&8^$Q2K2JZ2D'<>HSPB]DIB?"KU5C)Y2ZB.F^S(D/6CZK-R&SI]I;$DD
M IZ$0;9&Y%P?%,QE49Y"G&V:J12O_?[.G8Q)$%+PXJS09G'DOQBMGR02 &&J
M!V=5_$>+N:1EO"9@,O9F)HUN$;/@0?VGOH=.:H[,44J[3P6S1/@NK7C1Z+D@
M?$KY5$TY D)HFN375+J4*=V8$3I\R>?&QZ#[Q*!%L]MT]']Z(P8?:9<.P )?
M07>O%G 5J!OQK(T[', ^M/_D]F<<CC%2AN]V>2=[GRLYJ7<G\I5A$(ZD-.O?
M^\ \[@ANO!5P"BXV#5/!3T",\':7"FOY$$!0DQX8G ')=#NBT;CX7W* @AJ/
M&1#N3-PT,5 ,2X>G\#E]Z)<R!3GO/HD"CC%"'C0T]+CY1BW*W^6[F9A+HWE2
M G(UIZ+JW+.,O6I<4(TPPBUFC2#9"K&-AZSH.'*'+IAK2+NHB6I1\QFA;F)=
M?& CQE6>$)54ED]&>@&:^EE) G*,7[(=/2U#8187:SH%:VHX?X-@IZ@B ^Z*
MH7M1"E)<ZB0)! 2E((G7V#1CYDG#->1W!-ZIA(+/=E^VXY;8D5[@),FC=Y:J
M+2DJ1.= HLSD[TR,#*D8V7Q,$>D*]'+1GCN)DW,S]A'TJ5G6X)22I:^*Q_:5
MFH9"G/;*4XJ$)2$L942?6RK)B?E]W%3 HW%P2H9-_(82CQ#ZP2,\1],^3/'5
M/?<!]"E910GR 7LD$"O6?3L&;<*?B,AAVL\M'C"F0HU#'DP2_C)I1U!7;!)
MG%A$<AN:WCSP!\  LB!(AC3924-*Y7M4^I,.K4TPM.TZX1L[YH1?B9_+@*S*
MXN#"-\F+V2A?1[8X(Y\$U1% O3$J/NF(3JW[#^6:>"Y'8H6,#:ID73GQ1.9T
M-#(B3L^N-#O3A-)_ AXBIGPFS9DUXA,5)!P2&'(6KT%Q4U1;I(V@Q5!X6$'3
MM8&[X]@T'LO;MIV ^*POB$,^,4@GM%JN>#_R38*D^4ZZ;##I J#0@!XK"%,U
M?<37DR/'\20@$C/=WT)E-$[U-4Y 6#J$"=(IVV(2]/VDD8T7])7_#+UMPG%+
M@C] *[^OHTQDO"8O<!\$7LC]KVKHH?"&OC'UQ\>PIL% ^"93MHLA[#(1#<:P
M41^T,3D.A/P- P_-"@XQ:6Z]"/U<2FKE2DXE W$%@U)*T0F#L0&9-4H\0VD^
M'!::8U@$S\8;E@:_W^.X]53X;XAA0W(@>T*Y?& J'0E9L+YC.*!@=O250B08
M+X;#HQS6%%YP5"5O*"AU#B#YDS+>X2^7)J"A]BD<VJGW*O4S5M03D^(Q1>]2
M)Z7LLR2 QTU:)O*R$_6+'%?H"8L9AE"X[T%F\J93L3A:IYX_]J4^^'@?H 8X
M!+S$^5@I,]=-(9$PIL3&.*!27("#+KG)X6S*]0><)RE8^(DKT]%!+:'*'X12
M],$&XTOX$85 2X%W#K$FKOP-2+$,M%U)K*&G%Q7VS!@ND28.GT-, SLV'(]X
M2#HO<K06V==7D8&0C@%QZ]08C^@DT7N"+!8]YW#W(:)]>OD15[ 2+W2R'^J
MEKZZ;X\C#@-T# %R#(.0):R*!.9;'L,8^U(4R9]-B8PH7))0@TFB%0 0C$;\
M[UO;_XYKZ#^9:9:IW0.\!HPLBCUBD4Q(E3,J)&U*D60:+ :]4'BH)PAZ B&%
M]U#!4OK0DRN6ETW+(?GLD7Q;P')N'RM=A@\*W;#(4?%9G_"-([M6*@/(-_9A
M=>C/Y-&"Q"=#I4G?I;MIF.3KN*&.L0GK'&81E,D/6KV%(RLP?<W9\GL*?RG:
MZ06/ASQHKKLWT$.<+(O7![C3HIXC#65S)L]!*U"V^$2+0]9;C3SJ0_A(3HB4
M]UO,1E-38L4MPG&0KF4X\Y-,)NZVT E\BLNHI2=?)?N,=++(Q")S'5&P:,Y3
ML78/D@X %[:!-B#N.?%M<16&)\1ZKA"=P#WL$)MS/R5NN[YGNT/A_12T>!LB
MOL>&?0?\-MJ"DB=\RE(50W-)^@75!KC#<&*#<C?N-"KI6#D ;8*$  NQRA'A
MAJA#7$>EN1$S1OS%FJP[$?]#.N0_(['#:VY!&23SY,\Q.OI'?$+&D^'80PJ>
M2C#S$])0W79D:-Y5B7Q3I#.]@EO4-<7\;I&Z]ZB8J)H*+ 2<BUH@SQ"Q%;!
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
MZ]!Z-1+M8GB(SP*AWHE.NENFC&5R_3T9J*"W@M1ZX_'V<Q'6L! YR%KAS-9
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
MVT<V%7%(B^&U((B FHV^:-T)W.,.^8P-"&&,1V!21/>\*0(^6CT-#]!C9'+
MU_+9)O(X4(+L(<(,%F+'L-"!QX KT;(0E5V'&MS!G8_,8#]&\",N(J3); R?
MP$1XG%A2?!]$;'H;$KVPDP,\&TT<?-[0?D*VB6_$E_7%4*%'-[Z'-W#H:4Q7
M9;"1^L8H/H]$AE40XG+YHFS8^XS@TF=A;,/*(UJ-[?P)T.2D"3NS0^3"!L "
MKQ:7X%-&08@D+::4*WK&![IDN<EW Q< &.B/'85@>H4NG%%(_>'Q/?((X2L0
M6CXG*AL9)#5C-0%17&#O#\1O'^"ZV$V]0DDTW%\(X+8-3[1\YC(,T&7,S4RU
M53PA+ 0;$G,2$D@MX-9&%"0LNG<CG(4%YB2=.8@/6)-\^=D S\YAP!F&R)L(
M<1 K@UM0+3FR@$8(2WX$8 (7@4/V;'=(R POO45=F8O0\>V?"J'L*/#I%_ED
M>I*)&"K7S.D%WI;L5!QPB(A@(Q#AF@%(4,.^@R..8H5'ML!P'8P]4<O>9\-;
M6&[=,HU:M5:CM<$'^!/5M/!!@&YR.X\,T!#L"0/7AHRAHA=%"!*ADE9-6B(R
M(*$$":E.[&$L^T]/X/29GUY=ZJD:ELL=$UV0CB![(^!N7\UQLB-G@E]^!QJ4
M#8)E*_&G-,.%=Q7BXZI7:V8]HP$];;S0Y><3+&ATS'9WVD%'R(3\$Y#" ZE,
MV/AH*WW D2KGY/D#87K($S@*HYS5\A1(?%#^DN*Q@%8CJ:0"9W9(2QTP0&(
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
MD K3IWYEN&U:XV4%@CB&E 7KZM>EVYT#Y=UKRJX13,J'CZAS6KO/I']XC.F
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
M3AC$2Q*H*60$Z"<):< '/&RR!BFD713G 0/;PN/:!A9H);SI EK=%*+)YR*
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
MFK5(N.T\T#0,WUX!:.;1POWM_P-02P,$%     @ B8%]5K]J]MS3 0  :04
M !    !D-#@V.#4P9&5X,C$N:'1MO91-;YM $(;OEOP?1HKD7&+SD32Q 2.!
M30*J8RR@47N*P*S-2LLN@DT=^NNS&U.I#H=^I84#\.P,.^^\J['\Y'YE6[[G
M+.WAP$J"9.79WN>QKEG*\4-0I5L&L-QP^<4&:QD\V-8&&MX2-#_?,<H-3:TX
M.#5.B5FF]1Y30SVW+0=H6J+Y8_[UL=2F,U#D_T[@3!7P#=+Z2.^CRSZZZJ,/
M?73=1S=]-.VCV5NDJ[WJ=;57O:[*ZD<T:RI3MG,C.KB!E. ]G6\1Y:C^A4[>
MANOD>UC&ZAS5XXQQSDI#JYZA803G<*:^7B+:M;WG F>8@W32M2U%YMM_MO>Q
M\K^I>SCXC<H7?K!P[D*(@@<O@5%:5B;<.X*N/5B$DW>4(\SXYS[$G]PX6 9.
M%'@QA+>0^!Y$WET0)Y&S3OZ?&/V=C3W-_7G?/KK++NH(QP3MN'%Y77&A7"S:
M28%@P<HJI>WH;*IK-V8#C)(6FJ>LP3E.ZQ9P WYW(E:0,$:&@R[E @*ZG5S
MH<#;0L8="D9(.V8'BG)(:2X9J_<IQ=\$P!2XV"_F*4? =A 0@BG#S>1'67YT
M:K2AF@7"^X*+EP/.>2&>G4+M2FA6Y2VD*G(\@K!6#DLQ/>6(?0%02P,$%
M  @ B8%]5APXD,V9!@  #QD  !    !D-#@V.#4P9&5X,S$N:'1MU5GO3QLY
M$/T>*?^#I4HM2 M)H+WVDC02%*IR+0>JT.GNH[,[FUAL[+VU-R'WU]\;>_,#
M$HZ$0GL%";*[]G@\[\V;\:;[Z>K\2Z_[Z?3HI%>O=:_.KKZ<]D[_W#ML=1OA
M G<;U6,ANL<7)W_U1/?D[(]>]U)8-\WH_:O4:-=N-7,GC@HEL\Y(%@.EV\U7
MO9>Z;_-.MW')9BZ%S-1 OX]).RH>GMP][IW>#%5?.<'N'/?8CMANV><8?A:)
M<Q4/)67BMWUQ;,IB$(F8"J?2J7!#Z=KS#3_MTM6'O8Q2US[\)7>(T>?CD]FT
MW%CEE-%MV;<F*QUUUAL*\_>"@=9^MP$;O3,QE&,2!8T532C!/I054NM29KB9
MF\()H\5'4XQ$J[GW69A4?!BJ6 Z,^*K&Y,1+.<H[]=JYC(=*D_A@]CO/"<-S
MQ.*@BL6QM(@ MCN:BFMM)ADE XI"2*I8)(:LT,:)&&:ETO6:U%-1:E>4!!^D
MHQ%8SE&28H0K7E*D,L:M0I@1*.U,&+<R0%-,ULIBRD-&\IJP\))-BWL)O%%:
M()N&?@T>$*LB+D<8IC$=GB1(L0D0&@I;\I_%_ D55!GA'8R4S4@F2@_$1+DA
M=FASBKV#;#>':R;!/L>8EHC^U,>A7@N!^.DP/GP(8Q*IT@@BX[$(6H1<P' \
M+NJUQ0"E4V2$9"_P.<[*!$:!S!)5(J"JBFPJ<@26.8'',LL6H%?QMG?6!K$2
MO[V(1Y09!@!I SC\<M8[%$L[%&EF)G9&@X(&RKI"8B')-X/C\#):0M/.G%GQ
MMG-'L?__@+ZN +VZM?F7+]X=M-YV;(!LIL[,<9.F"I<[=M='YDS(@CP&B*GJ
M9\2QJM<(T/<S98<\A<>-D.2<Z'R=*!MGQI:8R.E?F"R@D1<FI@2WK=A!\!,"
MFB'"IS>H%WI X@B)];7,,*)U*/=:;W8HN-%ZDX2K<*FX0NK  K8O./N6R!'
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
ME2/$(?)-:.CAF?LF+*]^=.NC9;KV2S7OV'LJT+%N;ZUTC;5WW>]02P,$%
M  @ B8%]5AW@&:;Z)   3R8  !@   !G-#@V.#4P8W9R,3!K,C R,E\Q,BYJ
M<&>=>'D\E&_8[R,DA&1?I^PE"2%,YE="E&P)B8FL34C"*&9"R#JA*-M8D@I-
MLF:9P5@3RC;99T:1?88:@UG.]'O/^Y[W?#[GCW/./9_K^3S//,]]/]?WOK;O
M];"_LXG (6L+*PN BXL+F.;\ /848 ;LX_H[_A[W_1T\W'^/O#P\W#S[>??O
M_U?X^ ]PA&___@."!_@%_@[.V4%!@8-_+_XN\A]3]_%R<_,*\.WG$_A_'NPV
M0/0 4 +4<',I ?M$N;A%N=B=  @ N'C_58\+^)^#:Q\W#^]^/HX:@IP'Z@YQ
MU.?FYBC-R]&8<S>:<Q_@$>4]?%3GW'XQ>T\^I1!QW9B,X@/*YZO;)1R^453T
MO.[%\@M(2DG+R*JJJ6L<.WY:W\#PC)&QV05S"\N+5M:.5YVN.;NX7K_E[>/K
MYQ]P._1^6'@$//)!W./XA,0G2<F96<^>9^>\>)E;4OJJ['7YF[?O/M;4UM4W
M-'YJZL!W=G7W]/9]'AX9'1LG?)^8))'G?_Q<6/RUM$S=W/K]A[9-W]G]BXL+
MX.;ZS_%_Q"7*P;7OKPWX_N+BVA?Q]P%1'MZC.OL/G[/G\PP14]*-.2!^/J.X
MNIU?6<^!(N%U[YN I,IIDBKU+[1_D?W? 8O]_T+V7\#^%ZY)X" W%\=XW*(
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
MTT]T,<I&?\*@1N?UL=]W*GUZ%WC;SRB\*+3Z3.&:V?(XTU9N$Z(_O7ECVBA
MY=ZF#DM-764$MIOS1._SQ(+)Y.G2*YK9^9(9CR6_7?(I9O+BHR#QI.GZ,[<O
MS3X8=/<Y6<4J/,=)3H^C 7MS<< NLB0&;0W\QDSDS'?-M6O+!>-<3YYVOW@@
M3!.B)_!)64Q#/>CG]O*K]#/*RQC97^'AF7B,?Z:E&CJJF)0I]BE29OE,^[(F
ML:9W">J"Z(1*:+4\)$YA8A6504NR@9_R;+-"OCQ=7QKAOB6QT>NY 3WG?+0#
M_K*C#NXL/5R952@9#!^U9N3,9<,LL&MW$!"R@=D?U\H-(87*=V5C=\J6Z_WL
MA/W?UBF8+EICLVR;4RLSZHW#MM_ &&S@BR[#US&](J[K7$>9T9G/VA:YX0%H
M0?[N5U=+:X3Y!X]]'5)MZ0L1._2MT<=G^<#9@%K1GGTU'>3C1*I=IT/X,Y57
M:-\" CG6?B'E,JU5B1HF9"#8Z74A(V'Q36^%_@!#JVG/,E[9IG'SE??NEKLJ
M\E.^6$%/TADSKESSN2F'Q]B@XVP@::=0#5W=::V0)Z!1@BWJ!)1;X4/)ZIGS
MG3E#FD'!M1^&/IP!E3V4&*D-7U\9/:9/=@[M#XG0ZMS(R;SF>V;9"D/:>#WK
MN4H/UFQ7(^B[]M$"SD_N&A;_;C$$S5WQ,--0E_]FCLQ/)*2=$""84X,[V("
MJ2%=;0ZO>&Q,K<%@M<;--JC+0V9?1OXMGIM/SRG0VQ<^L5K-I64&-?_@!!DW
M!L"GRM/*$O".F(,.R?FWH:M;USD!+H;K_5F5^-QZ=,4Q[S%Q/7=&+R>1=IJ9
M?\%:C5K?.,CWI3]4-A91Z PJ,&%)$VAW-N;/AK(!;F4V,.\T<FLRF2D)L7KP
MK8%QE(3<#-XR0;1VBD Q3GM#8LP*B)\MP!#_>C_Z5KMQ?7$8L_@^M9>0PZ^T
M)EAH4+*-$9-W'F8#]4.,3.0!-O#]//(G]+3SVK25&W]J56*WYZ]W.AB+YU<N
MKDF=.7:Z>7)QA06:UWDQJ.C8.1J:F3\V^[YO@A<4+^X\B+[S8&@UCZ+9@50
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
M=8@?BFYW2K6*>-G=IDBM6([YJ>P47PP0KQI9W[-@X;8FB&<542*87&;KQFR
M8,KI68H^H^EBIBOTHWNGX+9$RR?!=3A!6,ZV8+3OAWZA+66)HPU!O$Z(%SWS
M'GE0#FUNE\(1WWF(<C:REM63C5188YC 2&Q RG\;.>$!ILQ4D?L5RG:+@HU%
M&WOKMX[-2><(-WJKTB)1?[JB)=VSB??RC^,]CQ3SAF=.N,^PU)/2>V[IG3##
M).?ES[R?79_4;J/[L02.<FSUC7Z)LWL[S.H6J3VA95R-=B?TB8<!=3OQSA];
MX4FZFHFZE%;8PS _B0]B0W(RE[-1;=)XC-$@F$ F,"2&R-H=<T++4'&6"D=E
M639P.U#J7(U_[B[UOH*N4]R7#"^>RHB@Q9,KW^!#16K8LQPX?QCG*) .%-UH
MFV9!?T[5ZVI"Q)&8(AU8B=;QL*KK2S?K/S:@.G/QX(^]G<>58C([B0),\+\)
M9I(S^UR4-N7L=GH8;HH-D+!O [V5#P>PI CS8QOENA>KWW4%^"W8')N>-[%;
M<__RW<D+[*%!Q$K-7SYK+#-[6&*>;T!"]:&)FVW&<WGS.^"\<K7WMU@#G(QC
M-_>]@M;'?,8Z@AC'?<Q) 9O/VZB3!O.0H57^!DTF4\N9EP+]MY5FSZ@ZJ5DY
M"?1,O" W:=/5#=>422)T#73;PZ'T2>UV]!.H,*F&JM6=?A_TY+IW>,[P:;MV
M[<(W935BD20SO\RT)6@>A')1^Q&Z'KI:001-3;$$'D+P6LXD="+#C823@,WQ
M_X9(?']E_-A0DD,>91]+:=\TZZCNEM78\;WF[6/WBQ\CP4Q"$G$<E:^YH0XQ
M>)FED-NVD\)0T2AEZG9WRAP/O-EF&"OM3^N8("6TET#K3X20RO8BHXNZ>[/3
MV[!W<7)LX)!Z!V17[!L;:$,2"R"3<#:P0Q_ZI6,J\NOV1#:+E*"3AF=HEGVK
M?:@@8FMCVGVV&K.R\:]'WH<0BPHY+A/+*73M9QCN5(X)LBL\I=+J^*ONVP(I
M>4\B3,O"CCAE:Y2EFW_R]SH\+1W^=(G;^TV_2"*+#]E^E1.ME9 Z0A<R$4*Q
MWICH[\%*CR!TNHAR2 G$5S8@!W8O6XJ8HR19;$WV:V$+REW%ZW,OWBJ4NR7^
M9A.<X^G2IO2P^O>T'FF.AQ*NY+1YA]=8++/FV2U? FPCT.!454HG6?EVYAUF
M*4:3#MD+1O2A05@=>#,MFJY'7<2SE*CEC]9/:C$\2:T&/^H&LTY([9^\^O*N
MP?,7TD/J"Q([((Z+G6-^PA$;<13+N2<L$8I?C_;45AOV)!U&O657.Q*(T+/B
ME($Y.PJL*U0,.IAK7EMYTE5K[JYS0+;3YZ+DR[(4-/UH3KOVE%DGE.(.F:S
M0T780- EJ! =U<$Z,PXE^R6]HKOZ/,">20>)?9SIKA\R?IU#2^+NE55[VH6[
MO2X@%%T\B+2\:F\.(*09GFP@E9M3H+&_(6EH<3AEJ&=("!]0NI*;P[A4>2=(
M]4.*[:F4I% %?&6VO<_5MP.KEQY=G-F+)D,EZ-#V7-Z>Y!8?L@W$:GCMJOYX
MV5L/%4G*VR/[AHT$BC+YU-]*+(#JRU=!>R>0[>=-12'MMI/-)/?RI-JPE^4C
M90&R<E4&/TJ/-#:\/.#_@ZMU[ .WIK#F HJ'8W@.9?C(]WB-H4UJ#::E,$O
MCB30@;F ;6-;_)Q$E%=STU>^[P6*X\K>HG;F8A;Q3@9KWYM#D@$ZFG60#;"!
MK!)F V[U+L?<OQLZQ9'M'>C-#YA53B]Y*S$>]^=$ NXRCHA&4ZQ0$\XL_K?S
MR"0/"#/_/=A>E0UT!9X?W^H"43)@_&'2F?Q!/VQ53EC]3"/4>!^>D(LV@L @
M=)6>U8H]/]8XFE,^.8ULJK.B!E2:H3AZ(ABLU&3ZX:GK2RWM\5UM4X.DU+A!
M^Z<R]UI"QA]!,CGT[Y@A'BE+SZ,QF6]91W\]4+[ASY*FKY!MU_K;P3 :M':E
M(0._6;,_</!55-$\ED^?F>(/JH.T#<C13@QSW@5#*;B))%90UJ<ZOZX0#FHY
M!!I5CL-_[%OL_SX8'UZ9)[P@<!?6Q1)&MHL@;^+B<)*FAE$N*1W&0TG>S"+L
MM*F*/^+$:&GSR/MKZW\V?%R\7#)*.@>M#<A]\<?--&YO,D-90@7,1W_F!!HZ
MDDPU&>$-]#M-(\N2./Y EI8[Z.#UH&881DE3RL+IB?4J?D$[^\2-3R?^,?5D
M-D.(JVFRVS0?BFTZCIB'Y->><J8GS:?!.IZN(,56E6/NPU+D;'3-=-W<!G0'
MLL>U7%WG_#=5KZ4U')-!4CQ0WQ_.\W'J*5T%F<X&_#>F%ED"4F2T'.-"QOTS
MOT7V3RY_75*43KR&=JC=<Z]+2STGNX/XDME;_=G;1[)*]UW@'41:5#@G8YS@
M.(X^TA\RX8R?JVY(1?J>5>QI1PBE_X"KWC=X")L3Z3?6'3C;.G@Y?CI#>>>U
M>?:%M!^N,N+I9B0DXY E[1 %D15!FDLA0 ]A3P?HPH/<!2V^L0S@"\A#U^$/
M!J^Z_&!]2?ZGPE-3R:+$_WR_=!*X_K+\(X18E$==(]UI3PW9KH6$B2AV<7I]
M3F^^VS4)PQZ!M$A6\:7D;MK_Z&GRG0J6PWU.-+FKV\F]5\YA7P>CKE*D8B#$
M5+2</E1B90463!8Y\/YY:1\M$K0F%>'0_>'"OF.:C6Q S-/RGN;/O_X#8HB!
M\&B*+9*N.EB^!V%]07Y$=8I,NI'6%I\4?QH'BY#GGFR/S-!=3MRKE'H -LC8
MU^S;& '/D+ET*MQ2!O,4XC]CQN+GGD=^O\\09,:Q3C'@S%>FQ^$5[11_J"!+
MA%[>*9O]"?3H=2:/8X1"ZH>RUJS)-EFAI<8+E>W6J'P@BD-R;M>#:FQ1.&(^
MLA[=/<$&/K!D K:E,F;A!<^F3P26P1>=FG"*%[@63:\:TE"=?LB\Q]-.'6S
M>5:/ODW)P4-K@JKV[%80VBY@?D]B),,^ A.=[BNZ=,R78!/Z\[C,E2.\-)Z3
M#WAGNJ*@',[0^;<>,R HUH%JRA"-GW.5SA =9EP9#[T!FVQ("+/YM6OSI^M/
M%UEI@"=FOE"UT?_ZQ5=<,1GW[+_+<;.$<,PG06"C8$JS*_WGWKG;4*&U/P?4
MV4#\I3=1WJU9^,-N^/L-Q[S&3?[9.W7_AL;->2!1F/N12#:$V#>7P-*G+*[Z
M4/W(%C4EIXVUDZ*0@9))T8O=<P$/W1QJTHI33HXHB;P (D+RY1&C!$-*!'&;
M@W-BCX1(I+@1&V)^LP$ANC/^P0-7_URU'.'>0$\/?+..2HW)X<$O7SIK#C^P
M!AC2'$ +\ @\ZR0G!Y=Q$M20(+WF?,W8Z1DS/$(L=N_*J):#_TFOX,,K7)D7
MIR7"E&-?'8+]F2.C&6+.-(#>1U2P)&%0D%O(A&W9*V^>--A/P4V')R^_2E$2
M5=$I?2N<#/?,O_GCL AHC].B*^-\0)-YM"5Z**<*"='1(>0R>@P%2["-PQ][
MO<(O%.-F,I72&_7K\N7!J*F7>HDWWG_KUD44%8DLZK$.+'+Z^B=S E@!9+LU
M&[@I8ZJ\G+L8@Y".TJ'&XQ*.CJOI6G$UI#C53.>O);DK"W\K<IKMJAZ(W%X-
MV9-K6 MC _N+HZZU?(TZRTFR2:8*4?=&&8[%5>]SM&;Z#@5,NGQ*5TG](1F#
M#O6,?5>MS*U,.SG$$OK%?%2K/7F);+D&(5;@%/V-%[NBI3R&6WS*EPI5GGR?
MGEPY!(Y83M)O0<F$AYXZNOF1"Y7S ^/.3."0@.RYCSB&&!N@N5)%5D,I7OT>
MHU&BY )KUK9;+=6T\J1:_NSU+A@8X6TE>M6_V/X1%T\U7\8CD2[D0=:$(H=/
MQSW&W1;YGD,[3FEK&FU1ILQUC)N>HN_\6-J6U!1N\%')WK91OH"2#ZD\94YS
M%7_L.PYN\ G]:#(G O&&)(#$D<05:#JZ!K,63,;)P,&,?T;T VW;()3']/J5
MR\UC?IY^2 &YO/VJ2C!I;5^=S[W-Q7;(R&K;%76&6!SK0/ >W]\FEZ5&1\_S
MK;87TU_6L0'Q)<VRZ5EXEL<>]/MJ"\FD?=^[(TZ1AP]WX1O6Q7@1@3,]:R.<
MB*EE/H40BR-D19*PQG03AVHJZO'/9%L^ACD%4:V6@_EEH_ EXGC@^Y*E).7/
M&\Z;7S)//U1(L>-;&&)(!-,XKXV5877+-N!QB=#Z?:QAM#CXW'S!M4O!/'1M
M/.[P>\:Y=S(O2U-/AT<8!AS9\KZ?=/!VU_0=^4>:?"PA3MY[GH@,QNS)@YW8
MP-L[8]N8MF#Z$<M5*8H?+>TCLPKL%TH5)!,ZA8Y6S9VC2G7;RMMB!LKZN6Z)
M?]A)_N2M]6S+\,F$TU--C=O5[SCX#^"\&B&P&5L:@>Y('DJ&"C%\R$+!>]"N
M# :8GA16[@J/I6)R=WU;4H1]K5Y[>2?>??((,"\2J?4O208T.'(,MSF<K,$U
MRJ$ZXAR1L.['%RJ.O$<0RG\9W+UL?$GHG>;!],A]R1K[UL3M_^'ER$%DJRUG
MXIW[\W\GOATO^%_?S+C8$_\#4$L! A0#%     @ B8%]5E<V-.J!"@  #FD
M !               ( !     &-V<BTR,#(R,3(S,2YX<V102P$"% ,4
M" ")@7U6TC7LWLX'   %80  %               @ &O"@  8W9R+3(P,C(Q
M,C,Q7V-A;"YX;6Q02P$"% ,4    " ")@7U64/"Z:X$.  "]X0  %
M        @ &O$@  8W9R+3(P,C(Q,C,Q7V1E9BYX;6Q02P$"% ,4    " ")
M@7U66VE+&-(T  !"K ( %               @ %B(0  8W9R+3(P,C(Q,C,Q
M7VQA8BYX;6Q02P$"% ,4    " ")@7U60_,1SFDB  !'70( %
M    @ %F5@  8W9R+3(P,C(Q,C,Q7W!R92YX;6Q02P$"% ,4    " ")@7U6
MVR*A:PFN  #>F 8 #P              @ $!>0  9#0X-C@U,&0Q,&LN:'1M
M4$L! A0#%     @ B8%]5K]J]MS3 0  :04  !               ( !-R<!
M &0T.#8X-3!D97@R,2YH=&U02P$"% ,4    " ")@7U6'#B0S9D&   /&0
M$               @ $X*0$ 9#0X-C@U,&1E>#,Q+FAT;5!+ 0(4 Q0    (
M (F!?5;6X00^EP,  /(*   0              "  ?\O 0!D-#@V.#4P9&5X
M,S(N:'1M4$L! A0#%     @ B8%]5AW@&:;Z)   3R8  !@
M ( !Q#,! &<T.#8X-3!C=G(Q,&LR,#(R7S$R+FIP9U!+!08     "@ * (,"
(  #T6 $    !

end
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
