<SEC-DOCUMENT>0001193125-23-138314.txt : 20230508
<SEC-HEADER>0001193125-23-138314.hdr.sgml : 20230508
<ACCEPTANCE-DATETIME>20230508163207
ACCESSION NUMBER:		0001193125-23-138314
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		36
CONFORMED PERIOD OF REPORT:	20230331
FILED AS OF DATE:		20230508
DATE AS OF CHANGE:		20230508

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-Q
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	000-01227
		FILM NUMBER:		23898263

	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-Q
<SEQUENCE>1
<FILENAME>d483910d10q.htm
<DESCRIPTION>10-Q
<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/2023' xmlns:dtr-types='http://www.xbrl.org/dtr/type/2022-03-31' xmlns:us-gaap='http://fasb.org/us-gaap/2023' xmlns:srt='http://fasb.org/srt/2023' xmlns:country='http://xbrl.sec.gov/country/2023' xmlns:fil='http://www.chicagorivet.com/20230331' 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-Q</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='Y23Q1' id='fact1'>0000019871</ix:nonNumeric> <ix:nonNumeric name='dei:CurrentFiscalYearEndDate' contextRef='Y23Q1' id='fact2'>--12-31</ix:nonNumeric> <ix:nonNumeric name='dei:EntityRegistrantName' contextRef='Y23Q1' id='fact3'>CHICAGO RIVET &amp; MACHINE CO</ix:nonNumeric> <ix:nonNumeric name='dei:SecurityExchangeName' contextRef='Y23Q1' id='fact4'>NYSEAMER</ix:nonNumeric> <ix:nonNumeric name='dei:AmendmentFlag' contextRef='Y23Q1' id='fact5'>false</ix:nonNumeric> <ix:nonNumeric name='dei:DocumentFiscalYearFocus' contextRef='Y23Q1' id='fact6'>2023</ix:nonNumeric> <ix:nonNumeric name='dei:DocumentFiscalPeriodFocus' contextRef='Y23Q1' id='fact7'>Q1</ix:nonNumeric> <ix:nonNumeric name='dei:DocumentTransitionReport' contextRef='Y23Q1' id='fact8'>false</ix:nonNumeric> </ix:hidden> <ix:references> <link:schemaRef xlink:arcrole='http://www.xbrl.org/2003/linkbase' xlink:href='cvr-20230331.xsd' xlink:type='simple'/> </ix:references> <ix:resources> <i:context id='Y23Q1'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> </i:entity> <i:period> <i:startDate>2023-01-01</i:startDate> <i:endDate>2023-03-31</i:endDate> </i:period> </i:context> <i:context id='E23Q1'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> </i:entity> <i:period> <i:instant>2023-03-31</i:instant> </i:period> </i:context> <i:context id='I230505'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> </i:entity> <i:period> <i:instant>2023-05-05</i:instant> </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='Y22Q1'> <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-03-31</i:endDate> </i:period> </i:context> <i:context id='Y23Q1_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>2023-01-01</i:startDate> <i:endDate>2023-03-31</i:endDate> </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-TreasuryStockCommon'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2022-12-31</i:instant> </i:period> </i:context> <i:context id='E23Q1_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>2023-03-31</i:instant> </i:period> </i:context> <i:context id='E23Q1_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>2023-03-31</i:instant> </i:period> </i:context> <i:context id='E23Q1_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>2023-03-31</i:instant> </i:period> </i:context> <i:context id='E23Q1_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>2023-03-31</i:instant> </i:period> </i:context> <i:context id='E23Q1_StEqComps-TreasuryStockCommon'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2023-03-31</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='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-TreasuryStockCommon'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id='Y22Q1_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-03-31</i:endDate> </i:period> </i:context> <i:context id='E22Q1'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> </i:entity> <i:period> <i:instant>2022-03-31</i:instant> </i:period> </i:context> <i:context id='E22Q1_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-03-31</i:instant> </i:period> </i:context> <i:context id='E22Q1_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-03-31</i:instant> </i:period> </i:context> <i:context id='E22Q1_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-03-31</i:instant> </i:period> </i:context> <i:context id='E22Q1_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-03-31</i:instant> </i:period> </i:context> <i:context id='E22Q1_StEqComps-TreasuryStockCommon'> <i:entity> <i:identifier scheme='http://www.sec.gov/CIK'>0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2022-03-31</i:instant> </i:period> </i:context> <i:context id='Y23Q1_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>2023-01-01</i:startDate> <i:endDate>2023-03-31</i:endDate> </i:period> </i:context> <i:context id='Y23Q1_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>2023-01-01</i:startDate> <i:endDate>2023-03-31</i:endDate> </i:period> </i:context> <i:context id='Y23Q1_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>2023-01-01</i:startDate> <i:endDate>2023-03-31</i:endDate> </i:period> </i:context> <i:context id='Y23Q1_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>2023-01-01</i:startDate> <i:endDate>2023-03-31</i:endDate> </i:period> </i:context> <i:context id='Y23Q1_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>2023-01-01</i:startDate> <i:endDate>2023-03-31</i:endDate> </i:period> </i:context> <i:context id='Y23Q1_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>2023-01-01</i:startDate> <i:endDate>2023-03-31</i:endDate> </i:period> </i:context> <i:context id='Y23Q1_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>2023-01-01</i:startDate> <i:endDate>2023-03-31</i:endDate> </i:period> </i:context> <i:context id='Y23Q1_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>2023-01-01</i:startDate> <i:endDate>2023-03-31</i:endDate> </i:period> </i:context> <i:context id='Y23Q1_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>2023-01-01</i:startDate> <i:endDate>2023-03-31</i:endDate> </i:period> </i:context> <i:context id='Y22Q1_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-03-31</i:endDate> </i:period> </i:context> <i:context id='Y22Q1_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-03-31</i:endDate> </i:period> </i:context> <i:context id='Y22Q1_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-03-31</i:endDate> </i:period> </i:context> <i:context id='Y22Q1_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-03-31</i:endDate> </i:period> </i:context> <i:context id='Y22Q1_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-03-31</i:endDate> </i:period> </i:context> <i:context id='Y22Q1_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-03-31</i:endDate> </i:period> </i:context> <i:context id='Y22Q1_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-03-31</i:endDate> </i:period> </i:context> <i:context id='Y22Q1_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-03-31</i:endDate> </i:period> </i:context> <i:context id='Y23Q1_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>2023-01-01</i:startDate> <i:endDate>2023-03-31</i:endDate> </i:period> </i:context> <i:context id='Y23Q1_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>2023-01-01</i:startDate> <i:endDate>2023-03-31</i:endDate> </i:period> </i:context> <i:context id='Y23Q1_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>2023-01-01</i:startDate> <i:endDate>2023-03-31</i:endDate> </i:period> </i:context> <i:context id='Y23Q1_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>2023-01-01</i:startDate> <i:endDate>2023-03-31</i:endDate> </i:period> </i:context> <i:context id='Y23Q1_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>2023-01-01</i:startDate> <i:endDate>2023-03-31</i:endDate> </i:period> </i:context> <i:context id='Y23Q1_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>2023-01-01</i:startDate> <i:endDate>2023-03-31</i:endDate> </i:period> </i:context> <i:context id='Y23Q1_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>2023-01-01</i:startDate> <i:endDate>2023-03-31</i:endDate> </i:period> </i:context> <i:context id='Y22Q1_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-03-31</i:endDate> </i:period> </i:context> <i:context id='Y22Q1_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-03-31</i:endDate> </i:period> </i:context> <i:context id='Y22Q1_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-03-31</i:endDate> </i:period> </i:context> <i:context id='Y22Q1_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-03-31</i:endDate> </i:period> </i:context> <i:context id='Y22Q1_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-03-31</i:endDate> </i:period> </i:context> <i:context id='Y22Q1_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-03-31</i:endDate> </i:period> </i:context> <i:context id='Y23Q1_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>2023-01-01</i:startDate> <i:endDate>2023-03-31</i:endDate> </i:period> </i:context> <i:context id='E23Q1_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>2023-03-31</i:instant> </i:period> </i:context> <i:context id='E23Q1_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>2023-03-31</i:instant> </i:period> </i:context> <i:context id='E23Q1_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>2023-03-31</i:instant> </i:period> </i:context> <i:context id='Y22Q1_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-03-31</i:endDate> </i:period> </i:context> <i:context id='E22Q1_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-03-31</i:instant> </i:period> </i:context> <i:context id='E22Q1_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-03-31</i:instant> </i:period> </i:context> <i:context id='E22Q1_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-03-31</i:instant> </i:period> </i:context> <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:12pt Times New Roman;margin:0;text-align:center'>&#160;</p> <p style='font:12pt Times New Roman;margin:0;text-align:center'><b>UNITED STATES</b></p> <p style='font:12pt Times New Roman;margin:0;text-align:center'><b>SECURITIES AND EXCHANGE COMMISSION</b></p> <p style='font:10pt Times New Roman;margin:0;text-align:center'><b>WASHINGTON, DC 20549</b></p> <p style='font:10pt Times New Roman;margin:0;text-align:center'><b>_________________________________</b></p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:12pt Times New Roman;margin:0;text-align:center'><b>FORM <ix:nonNumeric name='dei:DocumentType' contextRef='Y23Q1' escape='true'>10-Q</ix:nonNumeric></b></p> <p style='font:10pt Times New Roman;margin:0;text-align:center'><b>_________________________________</b></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'>(Mark One)</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:DocumentQuarterlyReport' contextRef='Y23Q1' format='ixt-sec:boolballotbox'>&#9746;</ix:nonNumeric> &#160;QUARTERLY 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 quarterly period ended </b><ix:nonNumeric name='dei:DocumentPeriodEndDate' contextRef='Y23Q1' format='ixt:datemonthdayyearen'>March 31, 2023</ix:nonNumeric></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'><span style='font-size:11pt'><span style='font-family:Wingdings'>&#111;</span></span> &#160;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'>For the transition period from ____________ to ___________</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>Commission file number </b><ix:nonNumeric name='dei:EntityFileNumber' contextRef='Y23Q1' escape='true'>000-01227</ix:nonNumeric></p> <p style='font:10pt Times New Roman;margin:0;text-align:center'><b>_________________________________</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='-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='Y23Q1' 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='Y23Q1' 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='Y23Q1' escape='true'>901 Frontenac Road</ix:nonNumeric>, <ix:nonNumeric name='dei:EntityAddressCityOrTown' contextRef='Y23Q1' escape='true'>Naperville</ix:nonNumeric>, <ix:nonNumeric name='dei:EntityAddressStateOrProvince' contextRef='Y23Q1' 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='Y23Q1' 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'><b>(<ix:nonNumeric name='dei:CityAreaCode' contextRef='Y23Q1' escape='true'>630</ix:nonNumeric>) <ix:nonNumeric name='dei:LocalPhoneNumber' contextRef='Y23Q1' escape='true'>357-8500</ix:nonNumeric></b></p> <p style='font:10pt Times New Roman;margin:0;text-align:center'><b>Registrant&#8217;s Telephone Number, Including Area Code</b></p> <p style='font:10pt Times New Roman;margin:0;text-align:center'><b>_________________________________</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'>Securities registered pursuant to Section 12(b) of the Act:</p>
<table style='margin:0 auto;border-collapse:collapse'>
<tr>
<td valign='top' style='width:183.6pt;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:105.3pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Trading Symbol(s)</p> </td>
<td valign='top' style='width:261.9pt;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:183.6pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'><ix:nonNumeric name='dei:Security12bTitle' contextRef='Y23Q1' escape='true'>Common Stock, par value $1.00 per share</ix:nonNumeric></p> </td>
<td valign='top' style='width:105.3pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonNumeric name='dei:TradingSymbol' contextRef='Y23Q1' escape='true'>CVR</ix:nonNumeric></p> </td>
<td valign='top' style='width:261.9pt;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'><kbd style='margin-left:18pt'></kbd>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='Y23Q1' 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>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:18pt'></kbd>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 (section 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='Y23Q1' 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>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:18pt'></kbd>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.:&#160;</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='Y23Q1' 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='Y23Q1' 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='Y23Q1' 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'><kbd style='margin-left:18pt'></kbd>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. <ix:nonNumeric name='dei:EntityEmergingGrowthCompany' contextRef='Y23Q1' format='ixt-sec:boolballotbox'>&#9744;</ix:nonNumeric> &#160;&#160;</p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:18pt'></kbd>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='Y23Q1' format='ixt-sec:boolballotbox'>&#9744;</ix:nonNumeric> &#160;No <span style='font-size:11pt'><span style='font-family:Wingdings'>&#253;</span></span> &#160;&#160;</p> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> <p style='font:10pt Times New Roman;margin:0'>As of May 5, 2023 there were <ix:nonFraction name='dei:EntityCommonStockSharesOutstanding' contextRef='I230505' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction> shares of the registrant&#8217;s common stock outstanding.</p> <p style='font:10pt Times New Roman;margin:0'>&#160;</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:12pt Arial Narrow;margin:0;color:#339966'>&#160;</p> <p style='font:10pt Courier New;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><br/><kbd style='position:absolute;font:10pt Times New Roman;margin-left:0pt'><span style='font-family:Times New Roman'> </span></kbd><kbd style='margin-left:144pt'></kbd>CHICAGO RIVET &amp; MACHINE CO.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:180pt'>INDEX</p> <p style='font:10pt Arial;margin:0;text-align:center'>&#160;</p>
<table style='border-collapse:collapse'>
<tr>
<td colspan='2' valign='bottom' style='width:463.5pt'><p style='font:10pt Arial;margin:0'>PART I. &#160;&#160;&#160;&#160;FINANCIAL INFORMATION (Unaudited)</p> </td>
<td valign='bottom' style='width:45pt'><p style='font:10pt Arial;margin:0;text-align:center'>Page</p> </td></tr>
<tr style='height:36pt'>
<td valign='bottom' style='width:49.5pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:414pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a3' style='text-decoration:none'>Condensed Consolidated Balance Sheets at</a></span><br/><span style='color:#0000FF'><a href='#a3' style='text-decoration:none'> &#160;&#160;&#160;&#160;</a></span><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a3' style='text-decoration:none'>March </a><a href='#a3' style='text-decoration:none'>3</a><a href='#a3' style='text-decoration:none'>1</a><a href='#a3' style='text-decoration:none'>, 202</a><a href='#a3' style='text-decoration:none'>3</a><a href='#a3' style='text-decoration:none'> and December 31, 202</a><a href='#a3' style='text-decoration:none'>2</a></span></p> </td>
<td valign='bottom' style='width:45pt'><p style='font:10pt Arial;margin:0;text-align:center'>2</p> </td></tr>
<tr style='height:36pt'>
<td valign='bottom' style='width:49.5pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:414pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a4' style='text-decoration:none'>Condensed Consolidated Statements of </a><a href='#a4' style='text-decoration:none'>Operations</a><a href='#a4' style='text-decoration:none'> for the</a></span><br/><span style='color:#0000FF'><a href='#a4' style='text-decoration:none'> &#160;&#160;&#160;&#160;</a></span><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a4' style='text-decoration:none'>Three Months Ended </a><a href='#a4' style='text-decoration:none'>Ma</a><a href='#a4' style='text-decoration:none'>r</a><a href='#a4' style='text-decoration:none'>ch</a><a href='#a4' style='text-decoration:none'> 3</a><a href='#a4' style='text-decoration:none'>1</a><a href='#a4' style='text-decoration:none'>, 202</a><a href='#a4' style='text-decoration:none'>3</a><a href='#a4' style='text-decoration:none'> and 202</a><a href='#a4' style='text-decoration:none'>2</a></span></p> </td>
<td valign='bottom' style='width:45pt'><p style='font:10pt Arial;margin:0;text-align:center'>3</p> </td></tr>
<tr style='height:36pt'>
<td valign='bottom' style='width:49.5pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:414pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a5' style='text-decoration:none'>Condensed Consolidated Statements of Shareholders&#8217; Equity for the</a></span><br/><span style='color:#0000FF'><a href='#a5' style='text-decoration:none'> &#160;&#160;&#160;&#160;</a></span><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a5' style='text-decoration:none'>Three Months Ended </a><a href='#a5' style='text-decoration:none'>Ma</a><a href='#a5' style='text-decoration:none'>r</a><a href='#a5' style='text-decoration:none'>ch</a><a href='#a5' style='text-decoration:none'> 3</a><a href='#a5' style='text-decoration:none'>1</a><a href='#a5' style='text-decoration:none'>, 202</a><a href='#a5' style='text-decoration:none'>3</a><a href='#a5' style='text-decoration:none'> and 202</a><a href='#a5' style='text-decoration:none'>2</a></span></p> </td>
<td valign='bottom' style='width:45pt'><p style='font:10pt Arial;margin:0;text-align:center'>4</p> </td></tr>
<tr style='height:36pt'>
<td valign='bottom' style='width:49.5pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:414pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a6' style='text-decoration:none'>Condensed Consolidated Statements of Cash Flows for the</a></span><br/><span style='color:#0000FF'><a href='#a6' style='text-decoration:none'> &#160;&#160;&#160;&#160;</a></span><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a6' style='text-decoration:none'>Three</a><a href='#a6' style='text-decoration:none'> Months Ended </a><a href='#a6' style='text-decoration:none'>Ma</a><a href='#a6' style='text-decoration:none'>r</a><a href='#a6' style='text-decoration:none'>ch</a><a href='#a6' style='text-decoration:none'> 3</a><a href='#a6' style='text-decoration:none'>1</a><a href='#a6' style='text-decoration:none'>, 202</a><a href='#a6' style='text-decoration:none'>3</a><a href='#a6' style='text-decoration:none'> and 202</a>2</span></p> </td>
<td valign='bottom' style='width:45pt'><p style='font:10pt Arial;margin:0;text-align:center'>5</p> </td></tr>
<tr style='height:21.6pt'>
<td valign='bottom' style='width:49.5pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:414pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a7' style='text-decoration:none'>Notes to the Condensed Consolidated Financial Statements</a></span></p> </td>
<td valign='bottom' style='width:45pt'><p style='font:10pt Arial;margin:0;text-align:center'>6</p> </td></tr>
<tr style='height:21.6pt'>
<td valign='bottom' style='width:49.5pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:414pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a8' style='text-decoration:none'>Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</a></span></p> </td>
<td valign='bottom' style='width:45pt'><p style='font:10pt Arial;margin:0;text-align:center'>10</p> </td></tr>
<tr style='height:21.6pt'>
<td valign='bottom' style='width:49.5pt'><p style='font:10pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:414pt'><p style='font:10pt Arial;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a9' style='text-decoration:none'>Controls and Procedures</a></span></p> </td>
<td valign='bottom' style='width:45pt'><p style='font:10pt Arial;margin:0;text-align:center'>11</p> </td></tr>
<tr style='height:21.6pt'>
<td colspan='2' valign='bottom' style='width:463.5pt'><p style='font:10pt Arial;margin:0'>PART II. &#160;&#160;&#160;&#160;<span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a10' style='text-decoration:none'>OTHER INFOR</a><a href='#a10' style='text-decoration:none'>M</a><a href='#a10' style='text-decoration:none'>ATION</a></span></p> </td>
<td valign='bottom' style='width:45pt'><p style='font:10pt Arial;margin:0;text-align:center'>12</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'>1</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'>PART I &#8211;&#160;FINANCIAL INFORMATION</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <a id='a3'></a><p style='font:10pt Arial;margin:0'>Item 1. Financial Statements.</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='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'>Condensed Consolidated Balance Sheets</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:373.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:76.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:14.05pt;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.95pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:76.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:center'>March 31, 2023 (Unaudited)</p> </td>
<td valign='bottom' style='width:14.05pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.95pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:center'>December 31, 2022</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:373.5pt;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:76.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:center'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:14.05pt;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.95pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:76.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'>&#160;</p> </td>
<td valign='bottom' style='width:14.05pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.95pt;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:373.5pt;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:76.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:14.05pt;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.95pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:373.5pt;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:76.5pt;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:CashAndCashEquivalentsAtCarryingValue' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,265,723</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:14.05pt;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.95pt;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:CashAndCashEquivalentsAtCarryingValue' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,045,101</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:373.5pt;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:76.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CertificatesOfDepositAtCarryingValue' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,193,000</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:14.05pt;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.95pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><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;</p> </td></tr>
<tr>
<td valign='bottom' style='width:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000'> &#160;Accounts receivable - Less allowance of $<ix:nonFraction name='us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>160,000</ix:nonFraction></ix:nonFraction></p> </td>
<td valign='bottom' style='width:76.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccountsReceivableNetCurrent' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>6,173,074</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:14.05pt;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.95pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><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;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:373.5pt;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:76.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryNet' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>9,998,952</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:14.05pt;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.95pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><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;</p> </td></tr>
<tr>
<td valign='bottom' style='width:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Prepaid income taxes</p> </td>
<td valign='bottom' style='width:76.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PrepaidTaxes' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>672,119</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:14.05pt;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.95pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PrepaidTaxes' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>509,119</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:373.5pt;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:76.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherAssetsCurrent' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>420,199</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:14.05pt;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.95pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherAssetsCurrent' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>422,747</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:76.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:14.05pt;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.95pt;padding-left:2pt;padding-right:2pt;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='background-color:#CEE7FF;width:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Total current assets</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:76.5pt;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='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>21,723,067</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:14.05pt;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.95pt;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='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>21,764,334</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:76.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:14.05pt;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.95pt;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:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Property, Plant and Equipment:</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:76.5pt;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:14.05pt;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.95pt;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:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Land and improvements</p> </td>
<td valign='bottom' style='width:76.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:LandAndLandImprovements' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,510,513</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:14.05pt;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.95pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:LandAndLandImprovements' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,510,513</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Buildings and improvements</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:76.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:BuildingsAndImprovementsGross' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>6,758,266</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:14.05pt;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.95pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:BuildingsAndImprovementsGross' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>6,758,266</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Production equipment and other</p> </td>
<td valign='bottom' style='width:76.5pt;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:MachineryAndEquipmentGross' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>37,494,180</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:14.05pt;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.95pt;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:MachineryAndEquipmentGross' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>37,080,762</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:373.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:76.5pt;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:PropertyPlantAndEquipmentGross' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>45,762,959</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:14.05pt;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.95pt;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:PropertyPlantAndEquipmentGross' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>45,349,541</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Less accumulated depreciation</p> </td>
<td valign='bottom' style='width:76.5pt;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:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>33,793,779</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:14.05pt;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.95pt;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:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>33,487,748</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Net property, plant and equipment</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:76.5pt;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:PropertyPlantAndEquipmentNet' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>11,969,180</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:14.05pt;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.95pt;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:PropertyPlantAndEquipmentNet' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>11,861,793</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:76.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:14.05pt;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.95pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr style='height:14.4pt'>
<td valign='bottom' style='background-color:#CEE7FF;width:373.5pt;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:76.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;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:Assets' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>33,692,247</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:14.05pt;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.95pt;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;<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;</p> </td></tr>
<tr>
<td valign='bottom' style='width:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:76.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:14.05pt;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.95pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:373.5pt;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='background-color:#CEE7FF;width:76.5pt;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:14.05pt;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.95pt;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:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:76.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:14.05pt;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.95pt;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:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Current Liabilities:</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:76.5pt;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:14.05pt;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.95pt;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:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Accounts payable</p> </td>
<td valign='bottom' style='width:76.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160; &#160;&#160; &#160;<ix:nonFraction name='us-gaap:AccountsPayableCurrent' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,621,403</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:14.05pt;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.95pt;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='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>697,235</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Accrued wages and salaries</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:76.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EmployeeRelatedLiabilitiesCurrent' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>675,078</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:14.05pt;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.95pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EmployeeRelatedLiabilitiesCurrent' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>462,332</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Other accrued expenses</p> </td>
<td valign='bottom' style='width:76.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccruedLiabilitiesCurrent' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>115,734</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:14.05pt;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.95pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccruedLiabilitiesCurrent' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>327,961</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:373.5pt;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='background-color:#CEE7FF;width:76.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CustomerAdvancesAndDepositsCurrent' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>183,836</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:14.05pt;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.95pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CustomerAdvancesAndDepositsCurrent' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>203,717</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Total current liabilities</p> </td>
<td valign='bottom' style='width:76.5pt;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:LiabilitiesCurrent' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,596,051</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:14.05pt;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.95pt;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:LiabilitiesCurrent' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,691,245</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:373.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:76.5pt;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:14.05pt;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.95pt;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:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Deferred income taxes </p> </td>
<td valign='bottom' style='width:76.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredIncomeTaxLiabilitiesNet' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>905,084</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:14.05pt;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.95pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredIncomeTaxLiabilitiesNet' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>948,084</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:373.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:76.5pt;padding-left:2pt;padding-right:2pt;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:14.05pt;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.95pt;padding-left:2pt;padding-right:2pt;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:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Total liabilities</p> </td>
<td valign='bottom' style='width:76.5pt;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:Liabilities' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,501,135</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:14.05pt;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.95pt;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:Liabilities' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,639,329</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:373.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:76.5pt;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:14.05pt;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.95pt;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:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Commitments and contingencies (Note 3)</p> </td>
<td valign='bottom' style='width:76.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:14.05pt;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.95pt;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:373.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:76.5pt;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:14.05pt;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.95pt;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:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Shareholders' Equity:</p> </td>
<td valign='bottom' style='width:76.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:14.05pt;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.95pt;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:373.5pt;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='E23Q1' unitRef='UsdPerShare' decimals='INF' format='ixt-sec:numwordsen'><ix:nonFraction name='us-gaap:PreferredStockParOrStatedValuePerShare' contextRef='E22' unitRef='UsdPerShare' decimals='INF' format='ixt-sec:numwordsen'>no</ix:nonFraction></ix:nonFraction> par value, <ix:nonFraction name='us-gaap:PreferredStockSharesAuthorized' contextRef='E23Q1' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:PreferredStockSharesAuthorized' contextRef='E22' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>500,000</ix:nonFraction></ix:nonFraction> shares authorized: <ix:nonFraction name='us-gaap:PreferredStockSharesOutstanding' contextRef='E23Q1' unitRef='Shares' decimals='INF' format='ixt-sec:numwordsen'><ix:nonFraction name='us-gaap:PreferredStockSharesOutstanding' contextRef='E22' unitRef='Shares' decimals='INF' format='ixt-sec:numwordsen'>none</ix:nonFraction></ix:nonFraction> outstanding</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:76.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PreferredStockValue' contextRef='E23Q1' unitRef='USD' decimals='128' format='ixt:zerodash'>-</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:14.05pt;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.95pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PreferredStockValue' contextRef='E22' unitRef='USD' decimals='128' format='ixt:zerodash'>-</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'><span style='color:#00B050'> &#160;&#160;&#160;</span>Common stock,<span style='color:#7030A0'> </span>$<ix:nonFraction name='us-gaap:CommonStockParOrStatedValuePerShare' contextRef='E23Q1' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:CommonStockParOrStatedValuePerShare' contextRef='E22' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>1.00</ix:nonFraction></ix:nonFraction> par value, <ix:nonFraction name='us-gaap:CommonStockSharesAuthorized' contextRef='E23Q1' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:CommonStockSharesAuthorized' contextRef='E22' 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='E23Q1' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:CommonStockSharesIssued' contextRef='E22' 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='E23Q1' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:CommonStockSharesOutstanding' contextRef='E22' 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:76.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CommonStockValueOutstanding' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,138,096</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:14.05pt;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.95pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><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;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:373.5pt;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:76.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AdditionalPaidInCapital' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>447,134</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:14.05pt;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.95pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AdditionalPaidInCapital' contextRef='E22' 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:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;Retained earnings</p> </td>
<td valign='bottom' style='width:76.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RetainedEarningsAccumulatedDeficit' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>32,527,980</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:14.05pt;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.95pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><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;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:373.5pt;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:76.5pt;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:TreasuryStockValue' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,922,098</ix:nonFraction>)&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:14.05pt;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.95pt;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:TreasuryStockValue' contextRef='E22' 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:373.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Total shareholders' equity</p> </td>
<td valign='bottom' style='width:76.5pt;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:StockholdersEquity' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>30,191,112</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:14.05pt;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.95pt;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:StockholdersEquity' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>30,986,798</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:373.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:76.5pt;padding-left:2pt;padding-right:2pt;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:14.05pt;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.95pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr style='height:14.4pt'>
<td valign='bottom' style='width:373.5pt;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:76.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;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:LiabilitiesAndStockholdersEquity' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>33,692,247</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:14.05pt;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.95pt;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;<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;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:373.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:76.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:14.05pt;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.95pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td colspan='2' valign='bottom' style='width:450pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>See Notes to the Condensed Consolidated Financial Statements</p> </td>
<td valign='bottom' style='width:14.05pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:75.95pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr> </table> <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'>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> <a id='a4'></a><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='4' valign='bottom' style='background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0;text-align:center'><span style='font-family:Arial'>CHICAGO RIVET &amp; MACHINE CO.</span></p> </td></tr>
<tr>
<td colspan='4' valign='bottom' style='width:387pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0;text-align:center'><span style='font-family:Arial'>Condensed Consolidated Statements of Operations (Unaudited)</span></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:234pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:74.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:73.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0'>&#160;</p> </td></tr>
<tr style='height:45.45pt'>
<td valign='bottom' style='width:234pt;padding-left:2pt;padding-right:2pt'></td>
<td valign='middle' style='width:74.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'>Three Months Ended March 31, 2023</p> </td>
<td valign='bottom' style='width:5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'>&#160;</p> </td>
<td valign='middle' style='width:73.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'>Three Months Ended March 31, 2022</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:234pt;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:74.25pt;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:Revenues' contextRef='Y23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>8,729,725</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:5pt;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:73.75pt;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:Revenues' contextRef='Y22Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>9,197,696</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:234pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Cost of goods sold </p> </td>
<td valign='bottom' style='width:74.25pt;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='Y23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>8,252,222</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:73.75pt;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='Y22Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>7,341,474</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:234pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:74.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:5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:73.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:234pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Gross profit</p> </td>
<td valign='bottom' style='width:74.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GrossProfit' contextRef='Y23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>477,503</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:73.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GrossProfit' contextRef='Y22Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,856,222</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:234pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Selling and administrative expenses</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:74.25pt;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:SellingGeneralAndAdministrativeExpense' contextRef='Y23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,257,695</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:5pt;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:73.75pt;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:SellingGeneralAndAdministrativeExpense' contextRef='Y22Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,295,664</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:234pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:74.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:5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:73.75pt;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:234pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;Operating profit (loss) </p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:74.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:OperatingIncomeLoss' contextRef='Y23Q1' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>780,192</ix:nonFraction>)&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:5pt;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:73.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OperatingIncomeLoss' contextRef='Y22Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>560,558</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:234pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:74.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:5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:73.75pt;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:234pt;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:74.25pt;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='Y23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>43,055</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:5pt;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:73.75pt;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='Y22Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>9,755</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:234pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:74.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:5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:73.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr style='height:5.85pt'>
<td valign='bottom' style='background-color:#CEE7FF;width:234pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Income (loss) before income taxes</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:74.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' contextRef='Y23Q1' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>737,137</ix:nonFraction>)&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:5pt;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:73.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' contextRef='Y22Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>570,313</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:234pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Provision (benefit) for income taxes</p> </td>
<td valign='bottom' style='width:74.25pt;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='Y23Q1' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>154,000</ix:nonFraction>)&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:73.75pt;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='Y22Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>123,000</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:234pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:74.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:5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:73.75pt;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:234pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Net Income (loss)</p> </td>
<td valign='bottom' style='width:74.25pt;padding-left:2pt;padding-right:2pt;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:NetIncomeLoss' contextRef='Y23Q1' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>583,137</ix:nonFraction>)&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:73.75pt;padding-left:2pt;padding-right:2pt;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:NetIncomeLoss' contextRef='Y22Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>447,313</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:234pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:74.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:73.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:234pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Per share data: </p> </td>
<td valign='bottom' style='width:74.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:73.75pt;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:234pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;Basic net income (loss) per share </p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:74.25pt;padding-left:2pt;padding-right:2pt;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsPerBasicShare' contextRef='Y23Q1' sign='-' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.60</ix:nonFraction>)&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:5pt;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:73.75pt;padding-left:2pt;padding-right:2pt;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsPerBasicShare' contextRef='Y22Q1' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.46</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:234pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;Diluted net income (loss) per share </p> </td>
<td valign='bottom' style='width:74.25pt;padding-left:2pt;padding-right:2pt;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare' contextRef='Y23Q1' sign='-' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.60</ix:nonFraction>)&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:73.75pt;padding-left:2pt;padding-right:2pt;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare' contextRef='Y22Q1' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.46</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:234pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:74.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:73.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:234pt;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:74.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:5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:73.75pt;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:234pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;Basic </p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:74.25pt;padding-left:2pt;padding-right:2pt;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:WeightedAverageNumberOfSharesOutstandingBasic' contextRef='Y23Q1' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:5pt;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:73.75pt;padding-left:2pt;padding-right:2pt;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:WeightedAverageNumberOfSharesOutstandingBasic' contextRef='Y22Q1' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:234pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;Diluted </p> </td>
<td valign='bottom' style='width:74.25pt;padding-left:2pt;padding-right:2pt;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding' contextRef='Y23Q1' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:73.75pt;padding-left:2pt;padding-right:2pt;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding' contextRef='Y22Q1' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:234pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:74.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:73.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:234pt;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:74.25pt;padding-left:2pt;padding-right:2pt;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:CommonStockDividendsPerShareDeclared' contextRef='Y23Q1' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.22</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width: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:73.75pt;padding-left:2pt;padding-right:2pt;border-bottom:3px double #000000'><p style='font:9pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:CommonStockDividendsPerShareDeclared' contextRef='Y22Q1' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.22</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:234pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:74.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:73.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0'>&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:234pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:74.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:73.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0'>&#160;</p> </td></tr>
<tr>
<td colspan='2' valign='bottom' style='background-color:#CEE7FF;width:308.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> See Notes to the Condensed Consolidated Financial Statements </p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width: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:73.75pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Times New Roman;margin:0'>&#160;</p> </td></tr> </table> <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'>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='a5'></a><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p>
<table style='border-collapse:collapse'>
<tr style='height:6.9pt'>
<td colspan='9' valign='top' style='background-color:#CEE7FF'><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='top'><p style='font:9pt Arial;margin:0;text-align:center'>Consolidated Statements of Shareholders&#8217; Equity (Unaudited)</p> </td></tr>
<tr style='height:6.9pt'>
<td valign='top' style='background-color:#CEE7FF'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:54.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:45.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:55.6pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:63pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:44.7pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF'><p style='font:6pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:6.9pt'>
<td valign='top'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:54.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:98.85pt;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:center'>Common Stock</p> </td>
<td valign='top' style='width:55.6pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:63pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td colspan='2' valign='bottom' style='width:101pt;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial Narrow;margin:0;text-align:center'>Treasury Stock, At Cost</p> </td>
<td valign='top'><p style='font:6pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:6.9pt'>
<td valign='bottom' style='background-color:#CEE7FF'></td>
<td valign='bottom' style='background-color:#CEE7FF;width:54.75pt'><p style='font:7pt Arial;margin:0;text-align:center'><span style='font:8pt Arial Narrow'>Preferred Stock Amount</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:45.75pt;border-top:0.5pt solid #000000'><p style='font:7pt Arial;margin:0;text-align:center'><span style='font:8pt Arial Narrow'>Shares</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;border-top:0.5pt solid #000000'><p style='font:7pt Arial;margin:0;text-align:center'><span style='font:8pt Arial Narrow'>Amount</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:55.6pt'><p style='font:7pt Arial;margin:0;text-align:center'><span style='font:8pt Arial Narrow'>Additional Paid-In Capital</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:63pt'><p style='font:7pt Arial;margin:0;text-align:center'><span style='font:8pt Arial Narrow'>Retained Earnings</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:44.7pt'><p style='font:7pt Arial;margin:0;text-align:center'><span style='font:8pt Arial Narrow'>Shares</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:7pt Arial;margin:0;text-align:center'><span style='font:8pt Arial Narrow'>Amount</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:7pt Arial;margin:0;text-align:center'><span style='font:8pt Arial Narrow'>Total Shareholders&#8217; Equity</span></p> </td></tr>
<tr style='height:6.9pt'>
<td valign='top'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:54.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:45.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:55.6pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:63pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:44.7pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top'><p style='font:6pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:12.95pt'>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:7pt Arial;margin:0'><span style='font-size:8pt'>Balance, December 31, 2022</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:54.75pt'><p style='font:8pt Arial;margin:0;text-align:center'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;$ <ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E22_StEqComps-PrefStock' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:45.75pt'><p style='font:7pt Arial;margin:0;text-align:right'><span style='font-size:8pt'><ix:nonFraction name='us-gaap:CommonStockSharesOutstanding' contextRef='E22_StEqComps-CommonStock' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction></span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:8pt Arial;margin:0;text-align:right'>$ <ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E22_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:55.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#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></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:63pt'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#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></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:44.7pt'><p style='font:7pt Arial;margin:0;text-align:right'><span style='font-size:8pt'><ix:nonFraction name='us-gaap:TreasuryStockCommonShares' contextRef='E22_StEqComps-TreasuryStockCommon' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>171,964</ix:nonFraction></span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:8pt Arial;margin:0;text-align:right'>$ (<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E22_StEqComps-TreasuryStockCommon' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,922,098</ix:nonFraction>)</p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#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></p> </td></tr>
<tr style='height:12.95pt'>
<td valign='bottom'><p style='font:7pt Arial;margin:0'><span style='font-size:8pt'>Net Loss</span></p> </td>
<td valign='bottom' style='width:54.75pt'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:45.75pt'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:55.6pt'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:63pt'><p style='font:8pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:NetIncomeLoss' contextRef='Y23Q1_StEqComps-RetainedEarnings' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>583,137</ix:nonFraction>)</p> </td>
<td valign='bottom' style='width:44.7pt'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom'><p style='font:8pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:NetIncomeLoss' contextRef='Y23Q1' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>583,137</ix:nonFraction>)</p> </td></tr>
<tr style='height:12.95pt'>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:7pt Arial;margin:0'><span style='font-size:8pt'>Dividends Declared</span> <span style='font-size:8pt'>($<ix:nonFraction name='us-gaap:CommonStockDividendsPerShareDeclared' contextRef='Y23Q1' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.22</ix:nonFraction></span> <span style='font-size:8pt'>per share)</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:54.75pt;border-bottom:0.5pt solid #000000'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:45.75pt;border-bottom:0.5pt solid #000000'><p style='font:7pt 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:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:55.6pt;border-bottom:0.5pt solid #000000'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:63pt;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:Dividends' contextRef='Y23Q1_StEqComps-RetainedEarnings' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>212,549</ix:nonFraction>)</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:44.7pt;border-bottom:0.5pt solid #000000'><p style='font:7pt 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:7pt 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:8pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:Dividends' contextRef='Y23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>212,549</ix:nonFraction>)</p> </td></tr>
<tr style='height:12.95pt'>
<td valign='bottom'><p style='font:7pt Arial;margin:0'><span style='font-size:8pt'>Balance, March 31, 2023</span></p> </td>
<td valign='bottom' style='width:54.75pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:center'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;$ <ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E23Q1_StEqComps-PrefStock' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='width:45.75pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:7pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CommonStockSharesOutstanding' contextRef='E23Q1_StEqComps-CommonStock' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction></p> </td>
<td valign='bottom' style='border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>$ <ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E23Q1_StEqComps-CommonStock' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,138,096</ix:nonFraction></p> </td>
<td valign='bottom' style='width:55.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E23Q1_StEqComps-AddPaidInCap' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>447,134</ix:nonFraction></p> </td>
<td valign='bottom' style='width:63pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E23Q1_StEqComps-RetainedEarnings' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>32,527,980</ix:nonFraction></p> </td>
<td valign='bottom' style='width:44.7pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:7pt Arial;margin:0;text-align:right'><span style='font-size:8pt'><ix:nonFraction name='us-gaap:TreasuryStockCommonShares' contextRef='E23Q1_StEqComps-TreasuryStockCommon' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>171,964</ix:nonFraction></span></p> </td>
<td valign='bottom' style='border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>$ (<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E23Q1_StEqComps-TreasuryStockCommon' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,922,098</ix:nonFraction>)</p> </td>
<td valign='bottom' style='border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>30,191,112</ix:nonFraction></p> </td></tr>
<tr style='height:10.8pt'>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:7pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:54.75pt;border-top:0.5pt solid #000000'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:45.75pt;border-top:0.5pt solid #000000'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;border-top:0.5pt solid #000000'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:55.6pt;border-top:0.5pt solid #000000'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:63pt;border-top:0.5pt solid #000000'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:44.7pt;border-top:0.5pt solid #000000'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;border-top:0.5pt solid #000000'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;border-top:0.5pt solid #000000'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr style='height:10.8pt'>
<td valign='bottom'><p style='font:7pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='width:54.75pt'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:45.75pt'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:55.6pt'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:63pt'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:44.7pt'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr>
<tr style='height:12.95pt'>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:7pt Arial;margin:0'><span style='font-size:8pt'>Balance, December 31, 2021</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:54.75pt'><p style='font:8pt Arial;margin:0;text-align:center'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;$ <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='background-color:#CEE7FF;width:45.75pt'><p style='font:7pt Arial;margin:0;text-align:right'><span style='font-size:8pt'><ix:nonFraction name='us-gaap:CommonStockSharesOutstanding' contextRef='E21_StEqComps-CommonStock' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction></span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:8pt 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='background-color:#CEE7FF;width:55.6pt'><p style='font:8pt 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='background-color:#CEE7FF;width:63pt'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#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='background-color:#CEE7FF;width:44.7pt'><p style='font:7pt Arial;margin:0;text-align:right'><span style='font-size:8pt'><ix:nonFraction name='us-gaap:TreasuryStockCommonShares' contextRef='E21_StEqComps-TreasuryStockCommon' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>171,964</ix:nonFraction></span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:8pt Arial;margin:0;text-align:right'>$ (<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E21_StEqComps-TreasuryStockCommon' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,922,098</ix:nonFraction>)</p> </td>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#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:12.95pt'>
<td valign='bottom'><p style='font:7pt Arial;margin:0'><span style='font-size:8pt'>Net Income</span></p> </td>
<td valign='bottom' style='width:54.75pt'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:45.75pt'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:55.6pt'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='width:63pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:NetIncomeLoss' contextRef='Y22Q1_StEqComps-RetainedEarnings' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>447,313</ix:nonFraction></p> </td>
<td valign='bottom' style='width:44.7pt'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:NetIncomeLoss' contextRef='Y22Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>447,313</ix:nonFraction></p> </td></tr>
<tr style='height:12.95pt'>
<td valign='bottom' style='background-color:#CEE7FF'><p style='font:7pt Arial;margin:0'><span style='font-size:8pt'>Dividends Declared</span> <span style='font-size:8pt'>($<ix:nonFraction name='us-gaap:CommonStockDividendsPerShareDeclared' contextRef='Y22Q1' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.22</ix:nonFraction></span> <span style='font-size:8pt'>per share)</span></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:54.75pt;border-bottom:0.5pt solid #000000'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:45.75pt;border-bottom:0.5pt solid #000000'><p style='font:7pt 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:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:55.6pt;border-bottom:0.5pt solid #000000'><p style='font:7pt Arial;margin:0;text-align:right'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:63pt;border-bottom:0.5pt solid #000000'><p style='font:8pt Arial;margin:0;text-align:right'><span style='font-size:7pt'> </span>(<ix:nonFraction name='us-gaap:Dividends' contextRef='Y22Q1_StEqComps-RetainedEarnings' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>212,549</ix:nonFraction>)</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:44.7pt;border-bottom:0.5pt solid #000000'><p style='font:7pt 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:7pt 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:8pt Arial;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:Dividends' contextRef='Y22Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>212,549</ix:nonFraction>)</p> </td></tr>
<tr style='height:12.95pt'>
<td valign='bottom'><p style='font:7pt Arial;margin:0'><span style='font-size:8pt'>Balance, March 31, 2022</span></p> </td>
<td valign='bottom' style='width:54.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:8pt Arial;margin:0;text-align:center'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;$ <ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E22Q1_StEqComps-PrefStock' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p> </td>
<td valign='bottom' style='width:45.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:7pt Arial;margin:0;text-align:right'><span style='font-size:8pt'><ix:nonFraction name='us-gaap:CommonStockSharesOutstanding' contextRef='E22Q1_StEqComps-CommonStock' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>966,132</ix:nonFraction></span></p> </td>
<td valign='bottom' style='border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:8pt Arial;margin:0;text-align:right'>$ <ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E22Q1_StEqComps-CommonStock' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,138,096</ix:nonFraction></p> </td>
<td valign='bottom' style='width:55.6pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E22Q1_StEqComps-AddPaidInCap' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>447,134</ix:nonFraction></p> </td>
<td valign='bottom' style='width:63pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E22Q1_StEqComps-RetainedEarnings' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>31,540,997</ix:nonFraction></p> </td>
<td valign='bottom' style='width:44.7pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:7pt Arial;margin:0;text-align:right'><span style='font-family:Arial Narrow;color:#339966'> &#160;&#160;</span><span style='font-size:8pt'><ix:nonFraction name='us-gaap:TreasuryStockCommonShares' contextRef='E22Q1_StEqComps-TreasuryStockCommon' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>171,964</ix:nonFraction></span></p> </td>
<td valign='bottom' style='border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:8pt Arial;margin:0;text-align:right'>$ (<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E22Q1_StEqComps-TreasuryStockCommon' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,922,098</ix:nonFraction>)</p> </td>
<td valign='bottom' style='border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E22Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>29,204,129</ix:nonFraction></p> </td></tr>
<tr style='height:6.9pt'>
<td valign='top' style='background-color:#CEE7FF'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:54.75pt;border-top:3px double #000000'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:45.75pt;border-top:3px double #000000'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;border-top:3px double #000000'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:55.6pt;border-top:3px double #000000'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:63pt;border-top:3px double #000000'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;width:44.7pt;border-top:3px double #000000'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;border-top:3px double #000000'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='background-color:#CEE7FF;border-top:3px double #000000'><p style='font:6pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:6.9pt'>
<td valign='top'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:54.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:45.75pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:55.6pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:63pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top' style='width:44.7pt'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top'><p style='font:6pt Arial;margin:0'>&#160;</p> </td>
<td valign='top'><p style='font:6pt Arial;margin:0'>&#160;</p> </td></tr>
<tr style='height:6.9pt'>
<td colspan='9' valign='top' style='background-color:#CEE7FF'><p style='font:6pt Arial;margin:0'><span style='font-size:9pt'>See Notes to the Condensed Consolidated Financial Statements.</span></p> </td></tr> </table> <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'>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> <a id='a6'></a><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='4' valign='bottom' style='background-color:#CEE7FF;width:450pt;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:450pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'>Condensed Consolidated Statements of Cash Flows (Unaudited)</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 valign='bottom' style='background-color:#CEE7FF;width:82.2pt;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'>Three Months Ended March 31, 2023</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:82.1pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000'><p style='font:9pt Arial;margin:0;text-align:center'>Three Months Ended March 31, 2022</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'>&#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: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 (loss)</p> </td>
<td valign='bottom' style='width:82.25pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:NetIncomeLoss' contextRef='Y23Q1' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>583,137</ix:nonFraction>)&#160;&#160;&#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:82.1pt;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:NetIncomeLoss' contextRef='Y22Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>447,313</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 (loss) 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 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</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'><ix:nonFraction name='us-gaap:Depreciation' contextRef='Y23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>306,032</ix:nonFraction>&#160;&#160;&#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: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='Y22Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>320,424</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:#833C0B'> &#160;</span>Deferred 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'>(<ix:nonFraction name='us-gaap:DeferredIncomeTaxExpenseBenefit' contextRef='Y23Q1' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>43,000</ix:nonFraction>)&#160;&#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: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='Y22Q1' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>24,000</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;Changes in operating assets and liabilities:</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 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;&#160;&#160;Accounts receivable</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'>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInAccountsReceivable' contextRef='Y23Q1' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,197,937</ix:nonFraction>)&#160;&#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: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='Y22Q1' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>990,427</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;&#160;</span>Inventories</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'>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInInventories' contextRef='Y23Q1' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>877,722</ix:nonFraction>)&#160;&#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: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='Y22Q1' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,093,460</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;&#160;&#160;Other current assets</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'>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInOtherOperatingAssets' contextRef='Y23Q1' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>160,452</ix:nonFraction>)&#160;&#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: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='Y22Q1' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>37,522</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;&#160;&#160;Accounts payable</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'><ix:nonFraction name='us-gaap:IncreaseDecreaseInAccountsPayable' contextRef='Y23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>924,168</ix:nonFraction>&#160;&#160;&#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: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='Y22Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>754,192</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;Accrued wages and salaries</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'><ix:nonFraction name='us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities' contextRef='Y23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>212,746</ix:nonFraction>&#160;&#160;&#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: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='Y22Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>197,065</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;&#160;&#160;</span>Other accrued expenses</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'>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInOtherAccruedLiabilities' contextRef='Y23Q1' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>212,227</ix:nonFraction>)&#160;&#160;&#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: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='Y22Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>53,411</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:#833C0B'> &#160;&#160;</span> Unearned revenue and customer deposits</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'>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInCustomerAdvancesAndDeposits' contextRef='Y23Q1' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>19,881</ix:nonFraction>)&#160;&#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: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='Y22Q1' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>15,390</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:#7030A0'> &#160;&#160;&#160;&#160;&#160;</span>Net cash used in operating 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'>(<ix:nonFraction name='us-gaap:NetCashProvidedByUsedInOperatingActivities' contextRef='Y23Q1' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,651,410</ix:nonFraction>)&#160;&#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: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='Y22Q1' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>388,394</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 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 investing 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 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;Capital expenditures</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'>(<ix:nonFraction name='us-gaap:PaymentsToAcquireProductiveAssets' contextRef='Y23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>413,419</ix:nonFraction>)&#160;&#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: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='Y22Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>120,594</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;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'><ix:nonFraction name='us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' contextRef='Y23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>498,000</ix:nonFraction>&#160;&#160;&#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: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='Y22Q1' 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:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'> &#160;&#160;&#160;Net cash provided by (used in) investing 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'><ix:nonFraction name='us-gaap:NetCashProvidedByUsedInInvestingActivities' contextRef='Y23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>84,581</ix:nonFraction>&#160;&#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: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='Y22Q1' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>120,594</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 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 financing 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 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;Cash dividends paid</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'>(<ix:nonFraction name='us-gaap:PaymentsOfDividendsCommonStock' contextRef='Y23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>212,549</ix:nonFraction>)&#160;&#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: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='Y22Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>212,549</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;&#160;&#160;Net cash used in financing 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'>(<ix:nonFraction name='us-gaap:NetCashProvidedByUsedInFinancingActivities' contextRef='Y23Q1' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>212,549</ix:nonFraction>)&#160;&#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: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='Y22Q1' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>212,549</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;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: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'>Net decrease in 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'>(<ix:nonFraction name='us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' contextRef='Y23Q1' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,779,378</ix:nonFraction>)&#160;&#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: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='Y22Q1' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>721,537</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'>Cash and cash equivalents at beginning of period</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'><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;</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: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='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:279pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Cash and cash equivalents at end of period</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'>$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:CashAndCashEquivalentsAtCarryingValue' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,265,723</ix:nonFraction>&#160;&#160;&#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: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;&#160;<ix:nonFraction name='us-gaap:CashAndCashEquivalentsAtCarryingValue' contextRef='E22Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,315,417</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 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 colspan='2' valign='bottom' style='background-color:#CEE7FF;width:361.25pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>See Notes to the Condensed Consolidated Financial Statements&#160;&#160;&#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:82.2pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'>&#160;</p> </td></tr> </table> <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'>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'>&#160;</p> <a id='a7'></a><p style='font:10pt Courier New;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:center'>CHICAGO RIVET &amp; MACHINE CO.</p> <p style='font:10pt Arial;margin:0;text-align:center'>NOTES TO THE CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</p> <p style='font:10pt Arial;margin:0;text-align:center'>(Unaudited)</p> <p style='font:10pt Arial;margin:0;text-align:center'>&#160;</p> <ix:nonNumeric name='us-gaap:SignificantAccountingPoliciesTextBlock' contextRef='Y23Q1' escape='true'><ix:nonNumeric name='us-gaap:BasisOfAccountingPolicyPolicyTextBlock' contextRef='Y23Q1' escape='true'><p style='font:10pt Arial;margin:0'>1. &#160;In the opinion of the Company, the accompanying unaudited interim financial statements contain all adjustments necessary to present fairly the financial position of the Company as of March 31, 2023 (unaudited) and December 31, 2022 (audited) and the results of operations and changes in cash flows for the indicated periods. &#160;Certain information and note disclosures normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America have been omitted from these unaudited financial statements in accordance with applicable rules. Please refer to the financial statements and notes thereto included in the Company&#8217;s Annual Report on Form 10-K for the year ended December 31, 2022.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>The preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. &#160;Actual results could differ from those estimates. &#160;The results of operations for the three month period ended March 31, 2023 are not necessarily indicative of the results to be expected for the year.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>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, using the modified retrospective approach. The adoption did not result in the recognition of a cumulative adjustment to beginning retained earnings, nor did it have a material impact on the condensed consolidated financial statements.</p> </ix:nonNumeric></ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:ConcentrationRiskDisclosureTextBlock' contextRef='Y23Q1' escape='true'><ix:nonNumeric name='us-gaap:ConcentrationRiskCreditRisk' contextRef='Y23Q1' escape='true'><p style='font:10pt Arial;margin:0'>2. &#160;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 in part 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;The Company also considers current economic conditions, the economic outlook and industry-specific factors in its evaluation. &#160;Accounts receivable balances are charged off against the allowance when it is determined that the receivable will not be recovered.</p> </ix:nonNumeric></ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:LegalMattersAndContingenciesTextBlock' contextRef='Y23Q1' escape='true'><ix:nonNumeric name='us-gaap:CommitmentsAndContingenciesPolicyTextBlock' contextRef='Y23Q1' escape='true'><p style='font:10pt Arial;margin:0'>3. &#160;The Company is, from time to time, involved in litigation, including environmental claims and contract disputes, 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> </ix:nonNumeric></ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:RevenueFromContractWithCustomerTextBlock' contextRef='Y23Q1' escape='true' continuedAt='c1'><ix:nonNumeric name='us-gaap:RevenueFromContractWithCustomerPolicyTextBlock' contextRef='Y23Q1' escape='true'><p style='font:10pt Arial;margin:0'>4. &#160;Revenue&#8212;The Company operates in the fastener industry and is in the business of manufacturing and selling rivets, cold-formed fasteners and parts, screw machine products, automatic rivet setting machines and parts and tools for such machines. &#160;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;For certain assembly equipment segment transactions, revenue is recognized based on progress toward completion of the performance obligation using a labor-based measure. &#160;Labor incurred and specific material costs are compared to milestone payments per sales contract. &#160;Based on our experience, this method most accurately reflects the transfer of goods under such contracts. &#160;During the first quarter of 2023, the Company did not realize any revenue related to such contracts. &#160;As of March 31, 2023, there are no such contracts outstanding.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>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. &#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 March 31, 2023 and December 31, 2022 reserves for warranty claims were not material. &#160;Cash received by the Company prior to shipment is recorded as unearned revenue.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>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'>Sales commissions are expensed when incurred because the amortization period is less than one year. &#160;These costs are recorded within selling and administrative expenses in the statement of income.</p> <p style='font:10pt Arial;margin:0;color:#000000'>&#160;</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</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'>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> <ix:continuation id='c1'><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'>The following table presents revenue by segment, further disaggregated by end-market:</p> <ix:nonNumeric name='us-gaap:DisaggregationOfRevenueTableTextBlock' contextRef='Y23Q1_ProductOrService-EndMarket' 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:162pt;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:72pt;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:72pt;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:162pt;padding-left:2pt;padding-right:2pt'><p style='font:11pt Arial Narrow;margin:0;color:#339966'><span style='font:9pt Arial;color:#000000'>Three Months Ended March 31, 2023:</span></p> </td>
<td valign='bottom' style='width:72pt;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:72pt;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:162pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000'>Automotive</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y23Q1_ProductOrService-Automotive_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,006,190</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;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;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y23Q1_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>44,878</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;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y23Q1_ProductOrService-Automotive' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,051,068</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:162pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000'>Non-automotive</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;color:#000000;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y23Q1_ProductOrService-Nonautomotive_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,850,623</ix:nonFraction></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;color:#000000;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y23Q1_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>828,034</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='Y23Q1_ProductOrService-Nonautomotive' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,678,657</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:162pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000'>Total net sales</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;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='Y23Q1_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>7,856,813</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;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;&#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y23Q1_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>872,912</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='Y23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>8,729,725</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:162pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;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:72pt;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:162pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000'>Three Months Ended March 31, 2022:</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;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:72pt;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:162pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000'>Automotive</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22Q1_ProductOrService-Automotive_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,904,183</ix:nonFraction></p> </td>
<td valign='bottom' style='width:72pt;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;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22Q1_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>41,463</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;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22Q1_ProductOrService-Automotive' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,945,646</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:162pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000'>Non-automotive</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;color:#000000;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22Q1_ProductOrService-Nonautomotive_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,249,650</ix:nonFraction></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;color:#000000;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22Q1_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,002,400</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='Y22Q1_ProductOrService-Nonautomotive' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,252,050</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:162pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000'>Total net sales</p> </td>
<td valign='bottom' style='width:72pt;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='Y22Q1_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>8,153,833</ix:nonFraction></p> </td>
<td valign='bottom' style='width:72pt;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='Y22Q1_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,043,863</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='Y22Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>9,197,696</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:162pt;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:72pt;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='background-color:#CEE7FF;width:72pt;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='background-color:#CEE7FF;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> </table> <p style='font:10pt Courier New;margin:0'>&#160;</p> </ix:nonNumeric><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='Y23Q1_StGeo-Location' 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:157.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:72pt;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:72pt;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:157.5pt;padding-left:2pt;padding-right:2pt'><p style='font:10pt Times New Roman;margin:0'><span style='font:9pt Arial'>Three Months Ended March 31, 2023:</span></p> </td>
<td valign='bottom' style='width:72pt;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:72pt;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:157.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000'>United States</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y23Q1_StGeo-US_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>6,391,747</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y23Q1_StGeo-US_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>786,571</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;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y23Q1_StGeo-US' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>7,178,318</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:157.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000'>Foreign</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;color:#000000;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y23Q1_StGeo-NonUs_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,465,066</ix:nonFraction></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;color:#000000;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y23Q1_StGeo-NonUs_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>86,341</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='Y23Q1_StGeo-NonUs' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,551,407</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:157.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000'>Total net sales</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;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='Y23Q1_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>7,856,813</ix:nonFraction></p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;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;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y23Q1_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>872,912</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='Y23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>8,729,725</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:157.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000'>&#160;</p> </td>
<td valign='bottom' style='width:72pt;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:72pt;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:157.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000'>Three Months Ended March 31, 2022:</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:72pt;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:72pt;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:157.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000'>United States</p> </td>
<td valign='bottom' style='width:72pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22Q1_StGeo-US_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>6,760,129</ix:nonFraction></p> </td>
<td valign='bottom' style='width:72pt;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='Y22Q1_StGeo-US_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,004,151</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;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22Q1_StGeo-US' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>7,764,280</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:157.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000'>Foreign</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;color:#000000;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22Q1_StGeo-NonUs_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,393,704</ix:nonFraction></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;color:#000000;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22Q1_StGeo-NonUs_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>39,712</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='Y22Q1_StGeo-NonUs' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,433,416</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='width:157.5pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;color:#000000'>Total net sales</p> </td>
<td valign='bottom' style='width:72pt;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='Y22Q1_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>8,153,833</ix:nonFraction></p> </td>
<td valign='bottom' style='width:72pt;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='Y22Q1_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,043,863</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='Y22Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>9,197,696</ix:nonFraction></p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:157.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:72pt;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='background-color:#CEE7FF;width:72pt;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='background-color:#CEE7FF;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> </table> <p style='font:10pt Courier New;margin:0'>&#160;</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> </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'>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'>&#160;</p> <ix:nonNumeric name='us-gaap:IncomeTaxDisclosureTextBlock' contextRef='Y23Q1' escape='true'><ix:nonNumeric name='us-gaap:IncomeTaxPolicyTextBlock' contextRef='Y23Q1' escape='true'><p style='font:10pt Arial;margin:0'>5. &#160;The Company&#8217;s effective tax rates were approximately (20.9)% and 21.6% for the first quarter of 2023 and 2022, respectively.</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 2022 tax years are subject to examination by the Internal Revenue Service (&#8220;IRS&#8221;). &#160;&#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. &#160;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 through 2022 federal income tax returns will expire on September 15, 2023 through 2026, 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 2022 tax years remain subject to examination by various state authorities with the latest closing period on October 31, 2026. &#160;The Company is not currently under examination by any state authority for income tax purposes and no statutes for state income tax filings have been extended.</p> </ix:nonNumeric></ix:nonNumeric><p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:InventoryDisclosureTextBlock' contextRef='Y23Q1' escape='true'><ix:nonNumeric name='us-gaap:InventoryPolicyTextBlock' contextRef='Y23Q1' escape='true'><p style='font:10pt Arial;margin:0'>6. &#160;Inventories are stated at the lower of cost or net realizable value, cost being determined by the first-in, first-out method.</p> </ix:nonNumeric><p style='font:10pt Courier New;margin:0;color:#000000'><span style='font-family:Arial'> &#160;A summary of inventories is as follows:</span> </p> <ix:nonNumeric name='us-gaap:ScheduleOfInventoryCurrentTableTextBlock' contextRef='Y23Q1' 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:93.6pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:87.85pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>March 31, 2023</span></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:center'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:87.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>December 31, 2022</span></p> </td></tr>
<tr>
<td valign='bottom' style='width:93.6pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Raw material</p> </td>
<td valign='bottom' style='width:87.85pt;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:InventoryRawMaterials' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,609,907</ix:nonFraction>&#160;&#160;&#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:87.55pt;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:InventoryRawMaterials' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,460,071</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:93.6pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Work-in-process</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:87.85pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryWorkInProcess' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,147,846</ix:nonFraction>&#160;&#160;&#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:87.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryWorkInProcess' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,747,427</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:93.6pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Finished goods</p> </td>
<td valign='bottom' style='width:87.85pt;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:InventoryFinishedGoods' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,862,199</ix:nonFraction>&#160;&#160;&#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:87.55pt;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:InventoryFinishedGoods' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,534,732</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:93.6pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Inventories, gross</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:87.85pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryGross' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>10,619,952</ix:nonFraction>&#160;&#160;&#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:87.55pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryGross' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>9,742,230</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:93.6pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Valuation reserves</p> </td>
<td valign='bottom' style='width:87.85pt;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:InventoryValuationReserves' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>621,000</ix:nonFraction>)&#160;&#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:87.55pt;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:InventoryValuationReserves' contextRef='E22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>621,000</ix:nonFraction>)&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:93.6pt;padding-left:2pt;padding-right:2pt'><p style='font:9pt Arial;margin:0'>Inventories, net</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:87.85pt;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;&#160;&#160;<ix:nonFraction name='us-gaap:InventoryNet' contextRef='E23Q1' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>9,998,952</ix:nonFraction>&#160;&#160;&#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:87.55pt;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;&#160;&#160;<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;</p> </td></tr> </table> <p style='font:10pt Arial;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'>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'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <ix:nonNumeric name='us-gaap:SegmentReportingDisclosureTextBlock' contextRef='Y23Q1' escape='true'><ix:nonNumeric name='us-gaap:SegmentReportingPolicyPolicyTextBlock' contextRef='Y23Q1' escape='true'><p style='font:10pt Arial;margin:0'>7. &#160;Segment Information&#8212;The Company operates in two business segments as determined by its products. &#160;The fastener segment 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.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> </ix:nonNumeric><p style='font:10pt Arial;margin:0'>Information by segment is as follows:</p> <ix:nonNumeric name='us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock' contextRef='Y23Q1' 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:190.95pt'></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:190.95pt'><p style='font:8pt Arial;margin:0'>Three Months Ended March 31, 2023:</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:190.95pt'><p style='font:8pt Arial;margin:0'>Net sales</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='Y23Q1_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>7,856,813</ix:nonFraction>&#160;&#160;&#160;</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='Y23Q1_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>872,912</ix:nonFraction>&#160;&#160;&#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:Revenues' contextRef='Y23Q1_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#160;</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;8,729,725&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:190.95pt'><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:190.95pt'><p style='font:8pt Arial;margin:0'>Depreciation</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='Y23Q1_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>272,636</ix:nonFraction>&#160;&#160;&#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:Depreciation' contextRef='Y23Q1_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>30,732</ix:nonFraction>&#160;&#160;&#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:Depreciation' contextRef='Y23Q1_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>2,664</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>306,032&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:190.95pt'><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:190.95pt'><p style='font:8pt Arial;margin:0'>Segment operating profit (loss)</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='Y23Q1_StBusnSeg-Fastener' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>428,501</ix:nonFraction>)&#160;&#160;&#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='fil:SegmentOperatingprofit' contextRef='Y23Q1_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>189,315</ix:nonFraction>&#160;&#160;&#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='fil:SegmentOperatingprofit' contextRef='Y23Q1_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>(239,186)&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:190.95pt'><p style='font:8pt Arial;margin:0'>Selling and administrative expenses</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='Y23Q1_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#160;</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='Y23Q1_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#160;</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='Y23Q1_StBusnSeg-UnallocatedCorporate' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>538,537</ix:nonFraction>)&#160;&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>(538,537)&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:190.95pt'><p style='font:8pt Arial;margin:0'>Interest income</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='Y23Q1_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#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:InterestAndOtherIncome' contextRef='Y23Q1_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#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:InterestAndOtherIncome' contextRef='Y23Q1_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>40,586</ix:nonFraction>&#160;&#160;&#160;</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'>40,586&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:190.95pt'><p style='font:8pt Arial;margin:0'>Loss before income taxes</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'>$ &#160;&#160;&#160;&#160;(737,137)&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:190.95pt'><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:190.95pt'><p style='font:8pt Arial;margin:0'>Capital expenditures</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='Y23Q1_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>336,066</ix:nonFraction>&#160;&#160;&#160;</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='Y23Q1_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#160;</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='Y23Q1_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>77,353</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>413,419&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:190.95pt'><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:190.95pt'><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:190.95pt'><p style='font:8pt Arial;margin:0'> &#160;&#160;Accounts receivable, net</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='E23Q1_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,857,565</ix:nonFraction>&#160;&#160;&#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:AccountsReceivableNetCurrent' contextRef='E23Q1_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>315,509</ix:nonFraction>&#160;&#160;&#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:AccountsReceivableNetCurrent' contextRef='E23Q1_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>6,173,074&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:190.95pt'><p style='font:8pt Arial;margin:0'> &#160;&#160;Inventories, net</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='E23Q1_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>8,566,031</ix:nonFraction>&#160;&#160;&#160;</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='E23Q1_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,432,921</ix:nonFraction>&#160;&#160;&#160;</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='E23Q1_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>9,998,952&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:190.95pt'><p style='font:8pt Arial;margin:0'> &#160;&#160;Property, plant and equipment, net</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='E23Q1_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>9,625,759</ix:nonFraction>&#160;&#160;&#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:PropertyPlantAndEquipmentNet' contextRef='E23Q1_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,272,765</ix:nonFraction>&#160;&#160;&#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:PropertyPlantAndEquipmentNet' contextRef='E23Q1_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,070,656</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>11,969,180&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:190.95pt'><p style='font:8pt Arial;margin:0'> &#160;&#160;Other assets</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='E23Q1_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#160;</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='E23Q1_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#160;</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='E23Q1_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,551,041</ix:nonFraction>&#160;&#160;&#160;</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'>5,551,041&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:190.95pt'><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'>$ &#160;&#160;&#160;33,692,247&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:190.95pt'><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:190.95pt'><p style='font:8pt Arial;margin:0'>Three Months Ended March 31, 2022:</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:190.95pt'><p style='font:8pt Arial;margin:0'>Net sales</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='Y22Q1_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>8,153,833</ix:nonFraction>&#160;&#160;&#160;</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='Y22Q1_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,043,863</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Revenues' contextRef='Y22Q1_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;9,197,696&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:190.95pt'><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:190.95pt'><p style='font:8pt Arial;margin:0'>Depreciation</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='Y22Q1_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>281,841</ix:nonFraction>&#160;&#160;&#160;</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='Y22Q1_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>33,363</ix:nonFraction>&#160;&#160;&#160;</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='Y22Q1_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>5,220</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>320,424&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:190.95pt'><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:190.95pt'><p style='font:8pt Arial;margin:0'>Segment operating profit</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='Y22Q1_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>835,507</ix:nonFraction>&#160;&#160;&#160;</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='Y22Q1_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>232,279</ix:nonFraction>&#160;&#160;&#160;</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='Y22Q1_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>1,067,786&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:190.95pt'><p style='font:8pt Arial;margin:0'>Selling and administrative expenses</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='Y22Q1_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#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='fil:SellingAndAdministrativeExpensesUnallocatedCorporate' contextRef='Y22Q1_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#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='fil:SellingAndAdministrativeExpensesUnallocatedCorporate' contextRef='Y22Q1_StBusnSeg-UnallocatedCorporate' sign='-' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>499,328</ix:nonFraction>)&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>(499,328)&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:190.95pt'><p style='font:8pt Arial;margin:0'>Interest income</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='Y22Q1_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#160;</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='Y22Q1_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#160;</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='Y22Q1_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,755</ix:nonFraction>&#160;&#160;&#160;</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'>1,755&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:190.95pt'><p style='font:8pt Arial;margin:0'>Income before income taxes</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'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;570,213&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:190.95pt'><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:190.95pt'><p style='font:8pt Arial;margin:0'>Capital expenditures</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='Y22Q1_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>112,864</ix:nonFraction>&#160;&#160;&#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:PaymentsToAcquirePropertyPlantAndEquipment' contextRef='Y22Q1_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#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:PaymentsToAcquirePropertyPlantAndEquipment' contextRef='Y22Q1_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>7,730</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>120,594&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:190.95pt'><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:190.95pt'><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:190.95pt'><p style='font:8pt Arial;margin:0'> &#160;&#160;Accounts receivable, net</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='E22Q1_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>6,151,706</ix:nonFraction>&#160;&#160;&#160;</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='E22Q1_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>486,705</ix:nonFraction>&#160;&#160;&#160;</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='E22Q1_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>6,638,411&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:190.95pt'><p style='font:8pt Arial;margin:0'> &#160;&#160;Inventories, net</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='E22Q1_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>8,299,454</ix:nonFraction>&#160;&#160;&#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:InventoryNet' contextRef='E22Q1_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,313,786</ix:nonFraction>&#160;&#160;&#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:InventoryNet' contextRef='E22Q1_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>9,613,240&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:190.95pt'><p style='font:8pt Arial;margin:0'> &#160;&#160;Property, plant and equipment, net</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='E22Q1_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>9,613,347</ix:nonFraction>&#160;&#160;&#160;</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='E22Q1_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,400,542</ix:nonFraction>&#160;&#160;&#160;</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='E22Q1_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>1,260,145</ix:nonFraction>&#160;&#160;&#160;</p> </td>
<td valign='bottom' style='width:75.6pt'><p style='font:8pt Arial;margin:0;text-align:right'>12,274,034&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:190.95pt'><p style='font:8pt Arial;margin:0'> &#160;&#160;Other assets</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='E22Q1_StBusnSeg-Fastener' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#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:OtherAssets' contextRef='E22Q1_StBusnSeg-AssemblyEquipment' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction>&#160;&#160;&#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:OtherAssets' contextRef='E22Q1_StBusnSeg-UnallocatedCorporate' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>4,440,615</ix:nonFraction>&#160;&#160;&#160;</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'>4,440,615&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='width:190.95pt'><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'>$ &#160;&#160;&#160;&#160;32,966,300&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign='bottom' style='background-color:#CEE7FF;width:190.95pt'><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'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><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'>&#160;</p> </td>
<td valign='bottom' style='background-color:#CEE7FF;width:75.6pt'><p style='font:8pt Arial;margin:0'>&#160;</p> </td></tr> </table> <p style='font:10pt Arial;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'>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'>&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <a id='a8'></a><p style='font:10pt Courier New;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:center'>CHICAGO RIVET &amp; MACHINE CO.</p> <p style='font:10pt Arial;margin:0;text-align:center'>&#160;</p> <p style='font:10pt Arial;margin:0'>Item 2. Management's Discussion and Analysis of Financial Condition and Results of Operations.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><span style='border-bottom:1px solid #000000'>Results of Operations</span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>Net sales for the first quarter of 2023 were $8,729,725 compared to $9,197,696 in the first quarter of 2022, a decline of $467,971, or 5.1%. Both the fastener segment and the assembly equipment segment incurred lower sales in the current year quarter. &#160;The lower sales combined with higher operating costs in the current year resulted in a net loss of $(583,137), or $(0.60) per share, compared to $447,313, or $0.46 per share, in the first quarter of 2022. &#160;During the quarter, a regular quarterly dividend of $0.22 per share was paid.</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>Fastener segment revenues were $7,856,813 in the first quarter of 2023 compared to $8,153,833 in the first quarter of 2022, a decline of $297,020, or 3.6%. &#160;The automotive sector is the primary market for our fastener segment products and sales to automotive customers were $5,006,190 in the first quarter this year compared to $4,904,183 in the first quarter of 2022, an increase of $102,007, or 2.1%. &#160;However, fastener segment sales to non-automotive customers, including those in the construction and electronics industries, were $2,850,623 in the first quarter of this year compared to $3,249,650 in the first quarter of 2022, a decline of $399,027 or 12.3%. &#160;Fastener segment gross margins were $251,624 in the first quarter of 2023 compared to $1,558,909 in the first quarter of 2022, a decline of $1,307,285. &#160;In addition to higher costs, we incurred production inefficiencies that resulted in higher labor costs and expediting expenses related to persistent staffing challenges.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><kbd style='margin-left:36pt'></kbd>Assembly equipment segment revenues were $872,912 in the first quarter of 2023 compared to $1,043,863 in the first quarter of 2022, a decline of $170,951, or 16.4%. &#160;Machine sales increased during the quarter but were offset by lower replacement parts and tooling sales compared to the prior year quarter. &#160;The decline in sales contributed to a $71,434 decline in segment gross margin, from $297,313 in 2022 to $225,879 in 2023.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;color:#000000'><kbd style='margin-left:36pt'></kbd>Selling and administrative expenses during the first quarter of 2023 were $1,257,695 compared to $1,295,664 recorded in the first quarter of 2022, a decrease of $37,969, or 2.9%. &#160;While we had reduced profit sharing, commissions and director fees in the current year, these reductions were partially offset by higher outside consulting and rental expenses. &#160;Selling and administrative expenses were 14.4% of net sales in the first quarter of 2023 compared to 14.1% in the first quarter of 2022.&#160;</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'>Other Income</span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>Other income in the first quarter of 2023 was $43,055 compared to $9,755 in the first quarter of 2022. &#160;Other income is primarily comprised of interest income which increased during the current year due to higher interest rates and greater invested balances.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'>Income Tax Expense</span></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&#8217;s effective tax rates were approximately (20.9)% and 21.6% for the first quarter of 2023 and 2022, respectively.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><span style='border-bottom:1px solid #000000'>Liquidity and Capital Resources</span></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 was $19,127,016 as of March 31, 2023 compared to $20,073,089 at the beginning of the year, a decline of $946,073. &#160;During the quarter, accounts receivable increased by $1,197,937, due to the greater sales activity during the quarter compared to the fourth quarter of 2022, and inventory increased by $877,722, primarily due to higher costs and some production bottlenecks that resulted in delayed shipments. &#160;Partially offsetting these changes was an increase in accounts payable of $924,168 related to the greater level of operating activity during the first quarter. &#160;Other items reducing working capital in the first quarter were capital expenditures of $413,419, which consisted primarily of equipment used in fastener production activities, and dividends paid of $212,549. &#160;The net result of these changes and other cash flow activity was to leave cash, cash equivalents and certificates of deposit at $4,458,723 as of March 31, 2023 compared to $6,736,101 as of the beginning of the year. &#160;Management believes that current cash, cash equivalents and operating cash flow will provide adequate working capital for the next twelve months.&#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'><span style='border-bottom:1px solid #000000'>Results of Operations Summary</span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0;text-indent:36pt'>Results in the first quarter were negatively impacted by numerous factors. &#160;Demand from our automotive customers was relatively steady, as that sector continues to recover from the pandemic, but we experienced continued softening in demand from non-automotive customers amid an uncertain economic future. &#160;The tight labor market has made maintaining an optimal workforce difficult and inflation remains historically high. &#160;These conditions are expected to persist in the near-term. &#160;We are reviewing and seeking to adjust our pricing in light of higher operating costs related to the current economic and labor market environment and have made investments in equipment to improve operating efficiency. &#160;We will also continue to adjust our activities based on changing market conditions, while pursuing opportunities to develop new customer relationships and build on existing ones in all the markets we serve.</p> <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'><span style='font-family:Times New Roman;border-bottom:1px solid #000000'><i>Forward-Looking Statements</i></span></p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><span style='font-family:Times New Roman'><i>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 under &quot;Risk Factors&quot; in our Annual Report on Form 10-K and in the other filings we make with the United States Securities and Exchange Commission. &#160;These 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, the loss of the services of our key employees and difficulties in achieving cost savings. &#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.</i></span><i> </i></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'>&#160;</p> <p style='font:10pt Arial;margin:0;text-align:center'>CHICAGO RIVET &amp; MACHINE CO.</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:36pt'>&#160;</p> <a id='a9'></a><p style='font:10pt Arial;margin:0'>Item 4. Controls and Procedures.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:36pt'></kbd>(a) &#160;Disclosure Controls and Procedures. &#160;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 Securities Exchange Act of 1934, as amended (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'><kbd style='margin-left:36pt'></kbd>(b) &#160;Internal Control Over Financial Reporting. &#160;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 fiscal quarter to which this report relates that have materially affected, or are reasonably likely to materially affect, the Company&#8217;s internal control over financial reporting.&#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'>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'>&#160;</p> <a id='a10'></a><p style='font:10pt Arial;margin:0'>PART II -- OTHER INFORMATION</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>Item 6. &#160;Exhibits </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'>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:18pt'>
<td valign='bottom' 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'>&#160;</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="d483910dex31.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:10.35pt'>
<td valign='bottom' 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'>&#160;</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="d483910dex32.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:18pt'>
<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'>Inline XBRL Taxonomy Extension Schema Document</p> </td></tr>
<tr style='height:18pt'>
<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:18pt'>
<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:18pt'>
<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:18pt'>
<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'>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 Courier New;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>SIGNATURES</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'>Pursuant to the requirements 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.</p> <p style='font:10pt Arial;margin:0'>&#160;</p> <p style='font:10pt Arial;margin:0'><kbd style='margin-left:324pt'></kbd><span style='border-bottom:1px solid #000000'>CHICAGO RIVET &amp; MACHINE CO. &#160;&#160;&#160;&#160;&#160;&#160;&#160;</span>&#160;</p> <p style='font:10pt Arial;margin:0;margin-left:360pt'> &#160;&#160;&#160;&#160;(Registrant)</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'>Date: &#160;May 8, 2023</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:288pt'><span style='border-bottom:1px solid #000000'>/s/ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Michael J. Bourg &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></p> <p style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:288pt'>Michael J. Bourg</p> <p style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:288pt'>President, Chief Operating Officer and Treasurer</p> <p style='font:10pt Arial;margin:0;margin-left:324pt'>(Principal Executive Officer and Principal Financial Officer)</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> <p style='font:10pt Times New Roman;margin:0'>&#160;</p> </div> </body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31
<SEQUENCE>2
<FILENAME>d483910dex31.htm
<DESCRIPTION>EX-31
<TEXT>
<HTML><HEAD>
<TITLE>EX-31</TITLE>
</HEAD>
  <BODY>
<DIV><P align=justify style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Times New Roman;margin:0'><FONT style=font-family:Arial>EXHIBIT 31</FONT></P> <P style='font:10pt Times New Roman;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;text-indent:36pt'>1.&#160;&#160;&#160;I have reviewed this quarterly report on Form 10-Q of
Chicago Rivet &amp; Machine Co.; </P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:36pt'>2.&#160;&#160;&#160;Based on my knowledge, this report does not contain any untrue statement of a material fact
or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</P>
<P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:36pt'>3.&#160;&#160;&#160;Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all
material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:36pt'>4.&#160;&#160;&#160;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:</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'>&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'>&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'>5.&#160;&#160;&#160;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):</P>
<P style='font:10pt Arial;margin:0;margin-left:36pt'>&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;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>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;text-indent:-18pt;margin-left:54pt'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;text-indent:-18pt;margin-left:54pt'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:54pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-18pt'>Date: &nbsp;May 8,
2023</KBD><KBD style=margin-left:162pt></KBD><FONT style='border-bottom:1px solid #000000'>/s/ Michael J. Bourg</FONT> &nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:54pt'><KBD style=margin-left:162pt></KBD>Michael J. Bourg&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:108pt'><KBD style=margin-left:108pt></KBD>President, Chief Operating Officer and Treasurer&nbsp;</P> <P style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:180pt'>(Principal Executive Officer
and Principal Financial Officer)</P> <P style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:288pt'>&nbsp;</P> </DIV> </BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32
<SEQUENCE>3
<FILENAME>d483910dex32.htm
<DESCRIPTION>EX-32
<TEXT>
<HTML><HEAD>
<TITLE>EX-32</TITLE>
</HEAD>
  <BODY> <DIV><P style='font:10pt Arial;margin:0'>EXHIBIT 32 </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 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 Quarterly Report on Form
10-Q of Chicago Rivet &amp; Machine Co. (the &quot;Company&quot;) for the quarterly period ended March 31, 2023 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'><KBD style='position:absolute;font:10pt Arial;margin-left:0pt'>Name:</KBD><KBD style=margin-left:36pt></KBD>Michael J. Bourg&nbsp;</P>
<P style='font:10pt Arial;margin:0'><KBD style='position:absolute;font:10pt Arial;margin-left:0pt'>Title:</KBD><KBD style=margin-left:36pt></KBD>President, Chief Operating Officer and Treasurer&nbsp;</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'><KBD style='position:absolute;font:10pt Arial;margin-left:0pt'>Date:</KBD><KBD style=margin-left:36pt></KBD>May 8, 2023&nbsp;</P> <P style='font:10pt Arial;margin:0;text-indent:36pt;margin-left:288pt'>&nbsp;</P>
</DIV> </BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>4
<FILENAME>cvr-20230331.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 [PPXC1A0KDJ2KVD9NVDXT]. www.edgarsuite.com -->
<schema xmlns='http://www.w3.org/2001/XMLSchema' xmlns:country='http://xbrl.sec.gov/country/2023' xmlns:us-gaap='http://fasb.org/us-gaap/2023' xmlns:srt='http://fasb.org/srt/2023' xmlns:fil='http://www.chicagorivet.com/20230331' xmlns:dei='http://xbrl.sec.gov/dei/2023' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xbrldt='http://xbrl.org/2005/xbrldt' targetNamespace='http://www.chicagorivet.com/20230331' xmlns:dtr-types='http://www.xbrl.org/dtr/type/2022-03-31' 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-20230331_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-20230331_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-20230331_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-20230331_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/20230331/role/idr_DisclosureInventories" id="idr_DisclosureInventories">
				<link:definition>000130 - Disclosure - Inventories</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/20230331/role/idr_DisclosureCommitmentsAndContingencies" id="idr_DisclosureCommitmentsAndContingencies">
				<link:definition>000100 - Disclosure - 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/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnaudited" id="idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnaudited">
				<link:definition>000050 - Statement - Condensed Consolidated Statements of Shareholders&apos; Equity (Unaudited)</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/20230331/role/idr_DisclosureAccountingPoliciesPolicies" id="idr_DisclosureAccountingPoliciesPolicies">
				<link:definition>000150 - Disclosure - 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/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" id="idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited">
				<link:definition>000040 - Statement - Condensed Consolidated Statements of Operations (Unaudited)</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/20230331/role/idr_DisclosureInventoriesInventoriesTables" id="idr_DisclosureInventoriesInventoriesTables">
				<link:definition>000170 - Disclosure - Inventories: Inventories (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/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueDetails" id="idr_DisclosureRevenueDisaggregationOfRevenueDetails">
				<link:definition>000190 - Disclosure - Revenue: 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/20230331/role/idr_DisclosureInventoriesInventoriesDetails" id="idr_DisclosureInventoriesInventoriesDetails">
				<link:definition>000200 - Disclosure - Inventories: Inventories (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/20230331/role/idr_DisclosureSegmentReporting" id="idr_DisclosureSegmentReporting">
				<link:definition>000140 - Disclosure - Segment Reporting</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/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentTables" id="idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentTables">
				<link:definition>000180 - Disclosure - Segment Reporting: Schedule of Segment Reporting by Segment (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/20230331/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/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnauditedParenthetical" id="idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnauditedParenthetical">
				<link:definition>000060 - Statement - Condensed Consolidated Statements of Shareholders&apos; Equity (Unaudited) - 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/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" id="idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited">
				<link:definition>000070 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)</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/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueTables" id="idr_DisclosureRevenueDisaggregationOfRevenueTables">
				<link:definition>000160 - Disclosure - Revenue: 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/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets" id="idr_StatementCondensedConsolidatedBalanceSheets">
				<link:definition>000020 - Statement - Condensed 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/20230331/role/idr_DisclosureAccountingPolicies" id="idr_DisclosureAccountingPolicies">
				<link:definition>000080 - Disclosure - 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/20230331/role/idr_DisclosureRevenue" id="idr_DisclosureRevenue">
				<link:definition>000110 - Disclosure - Revenue</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/20230331/role/idr_DisclosureRisksAndUncertainties" id="idr_DisclosureRisksAndUncertainties">
				<link:definition>000090 - Disclosure - Risks and Uncertainties</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/20230331/role/idr_StatementCondensedConsolidatedBalanceSheetsParenthetical" id="idr_StatementCondensedConsolidatedBalanceSheetsParenthetical">
				<link:definition>000030 - Statement - Condensed 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/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails" id="idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails">
				<link:definition>000210 - Disclosure - Segment Reporting: Schedule of Segment Reporting by Segment (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/20230331/role/idr_DisclosureIncomeTaxes" id="idr_DisclosureIncomeTaxes">
				<link:definition>000120 - Disclosure - Income Taxes</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/2022-03-31/types.xsd' namespace='http://www.xbrl.org/dtr/type/2022-03-31'/>
	<import namespace='http://xbrl.sec.gov/dei/2023' schemaLocation='https://xbrl.sec.gov/dei/2023/dei-2023.xsd'/>
	<import namespace='http://fasb.org/us-gaap/2023' schemaLocation='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd'/>
	<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_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 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>5
<FILENAME>cvr-20230331_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 [PPXC1A0KDJ2KVD9NVDXT]. 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/20230331"
		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/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_StatementCondensedConsolidatedBalanceSheets"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent' xlink:label='us-gaap_AssetsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross' xlink:label='us-gaap_PropertyPlantAndEquipmentGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandAndLandImprovements' xlink:label='us-gaap_LandAndLandImprovements'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentGross' xlink:to='us-gaap_LandAndLandImprovements' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingsAndImprovementsGross' xlink:label='us-gaap_BuildingsAndImprovementsGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentGross' xlink:to='us-gaap_BuildingsAndImprovementsGross' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentGross' xlink:label='us-gaap_MachineryAndEquipmentGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentGross' xlink:to='us-gaap_MachineryAndEquipmentGross' use='optional' order='3.0' weight='1.0'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentNet' xlink:to='us-gaap_PropertyPlantAndEquipmentGross' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:label='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentNet' xlink:to='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent' xlink:label='us-gaap_LiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent' xlink:label='us-gaap_AccountsPayableCurrent'/>
		<link: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit' xlink:label='us-gaap_GrossProfit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues' xlink:label='us-gaap_Revenues'/>
		<link: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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_OperatingIncomeLoss' xlink:to='us-gaap_SellingGeneralAndAdministrativeExpense' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:label='us-gaap_IncreaseDecreaseInAccountsReceivable'/>
		<link: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='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories' xlink:label='us-gaap_IncreaseDecreaseInInventories'/>
		<link: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='5.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='6.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='7.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='8.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='9.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='10.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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>6
<FILENAME>cvr-20230331_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 [PPXC1A0KDJ2KVD9NVDXT]. 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/20230331"
		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/20230331/role/idr_DocumentDocumentAndEntityInformation" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DocumentDocumentAndEntityInformation"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DocumentDocumentAndEntityInformation"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_StatementCondensedConsolidatedBalanceSheets"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_StatementCondensedConsolidatedBalanceSheetsParenthetical"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheetsParenthetical"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnaudited" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnaudited"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnaudited">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis' xlink:label='us-gaap_StatementEquityComponentsAxis'/>
		<link: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember' xlink:label='us-gaap_TreasuryStockCommonMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_TreasuryStockCommonMember' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares' xlink:label='us-gaap_TreasuryStockCommonShares'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_TreasuryStockCommonShares' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link: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/2023/elts/us-gaap-2023.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/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnauditedParenthetical" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnauditedParenthetical"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnauditedParenthetical"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPolicies" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureAccountingPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPolicies"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_DisclosureRisksAndUncertainties" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureRisksAndUncertainties"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureRisksAndUncertainties"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_DisclosureCommitmentsAndContingencies" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureCommitmentsAndContingencies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureCommitmentsAndContingencies"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenue" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureRevenue"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenue"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_DisclosureIncomeTaxes" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureIncomeTaxes"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureIncomeTaxes"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_DisclosureInventories" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureInventories"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureInventories"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReporting" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureSegmentReporting"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReporting"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPoliciesPolicies" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureAccountingPoliciesPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPoliciesPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.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='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock' xlink:label='us-gaap_BasisOfAccountingPolicyPolicyTextBlock'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_BasisOfAccountingPolicyPolicyTextBlock' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskCreditRisk' xlink:label='us-gaap_ConcentrationRiskCreditRisk'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ConcentrationRiskCreditRisk' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesPolicyTextBlock' xlink:label='us-gaap_CommitmentsAndContingenciesPolicyTextBlock'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_CommitmentsAndContingenciesPolicyTextBlock' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock' xlink:label='us-gaap_RevenueFromContractWithCustomerPolicyTextBlock'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_RevenueFromContractWithCustomerPolicyTextBlock' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock' xlink:label='us-gaap_IncomeTaxPolicyTextBlock'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_IncomeTaxPolicyTextBlock' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryPolicyTextBlock' xlink:label='us-gaap_InventoryPolicyTextBlock'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_InventoryPolicyTextBlock' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock' xlink:label='us-gaap_SegmentReportingPolicyPolicyTextBlock'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_SegmentReportingPolicyPolicyTextBlock' use='optional' order='7.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueTables" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureRevenueDisaggregationOfRevenueTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20230331.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20230331.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20230331/role/idr_DisclosureInventoriesInventoriesTables" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureInventoriesInventoriesTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureInventoriesInventoriesTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentTables" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueDetails" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureRevenueDisaggregationOfRevenueDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis' xlink:label='us-gaap_StatementBusinessSegmentsAxis'/>
		<link: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20230331.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-20230331.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20230331.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-20230331.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/country-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20230331/role/idr_DisclosureInventoriesInventoriesDetails" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureInventoriesInventoriesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureInventoriesInventoriesDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis' xlink:label='us-gaap_StatementBusinessSegmentsAxis'/>
		<link: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20230331.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-20230331.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-20230331.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20230331.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-20230331.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/2023/elts/us-gaap-2023.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='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:label='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link: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='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent' xlink:label='us-gaap_AccountsReceivableNetCurrent'/>
		<link: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='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link: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='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link: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='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='10.0'/>
	</link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>7
<FILENAME>cvr-20230331_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 [PPXC1A0KDJ2KVD9NVDXT]. 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/20230331"
		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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 Reporting {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SegmentReportingPolicyPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Segment Reporting</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/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesPolicyTextBlock' xlink:label='us-gaap_CommitmentsAndContingenciesPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommitmentsAndContingenciesPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Commitments and Contingencies {2}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommitmentsAndContingenciesPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>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_CommitmentsAndContingenciesPolicyTextBlock' xlink:to='lab_us-gaap_CommitmentsAndContingenciesPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember' xlink:label='us-gaap_TreasuryStockCommonMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TreasuryStockCommonMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Treasury Stock, Common</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_TreasuryStockCommonMember' xlink:to='lab_us-gaap_TreasuryStockCommonMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues' xlink:label='us-gaap_Revenues'/>
		<link: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/2023/elts/us-gaap-2023.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.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/dei-2023.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/2023/dei-2023.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.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 {1}</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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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'>Cash and cash equivalents at beginning of period</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'>Cash and cash equivalents at end of period</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='cvr-20230331.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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</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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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.sec.gov/dei/2023/dei-2023.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.sec.gov/dei/2023/dei-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryGross' xlink:label='us-gaap_InventoryGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventories, gross</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryGross' xlink:to='lab_us-gaap_InventoryGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/us-gaap/2023/elts/us-gaap-2023.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'>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/2023/elts/us-gaap-2023.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 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 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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'>Condensed Consolidated Statements of Cash Flows (Unaudited)</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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 (loss) 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/2023/elts/us-gaap-2023.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.sec.gov/dei/2023/dei-2023.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.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.xsd#dei_DocumentQuarterlyReport' xlink:label='dei_DocumentQuarterlyReport'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentQuarterlyReport' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Quarterly Report</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentQuarterlyReport' xlink:to='lab_dei_DocumentQuarterlyReport'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='cvr-20230331.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.sec.gov/country/2023/country-2023.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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</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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent' xlink:label='us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts Receivable, Allowance for Credit Loss, 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_AllowanceForDoubtfulAccountsReceivableCurrent' xlink:to='lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock' xlink:label='us-gaap_ConcentrationRiskDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ConcentrationRiskDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Risks and Uncertainties</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ConcentrationRiskDisclosureTextBlock' xlink:to='lab_us-gaap_ConcentrationRiskDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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</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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 (benefit) 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_IncomeTaxExpenseBenefit' xlink:to='lab_us-gaap_IncomeTaxExpenseBenefit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss' xlink:label='us-gaap_OperatingIncomeLoss'/>
		<link: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 (loss)</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 (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_OperatingIncomeLoss' xlink:to='lab_us-gaap_OperatingIncomeLoss'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract' xlink:label='us-gaap_StockholdersEquityAbstract'/>
		<link: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/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross' xlink:label='us-gaap_PropertyPlantAndEquipmentGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property, Plant and Equipment, Gross</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentGross' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Property, Plant and Equipment, Gross</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentGross' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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.sec.gov/dei/2023/dei-2023.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/2023/elts/us-gaap-2023.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 {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2003/role/terseLabel' 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/2023/elts/us-gaap-2023.xsd#us-gaap_LegalMattersAndContingenciesTextBlock' xlink:label='us-gaap_LegalMattersAndContingenciesTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LegalMattersAndContingenciesTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Commitments and Contingencies {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LegalMattersAndContingenciesTextBlock' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>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_LegalMattersAndContingenciesTextBlock' xlink:to='lab_us-gaap_LegalMattersAndContingenciesTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 (loss)</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 (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_NetIncomeLoss' xlink:to='lab_us-gaap_NetIncomeLoss'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital' xlink:label='us-gaap_AdditionalPaidInCapital'/>
		<link: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/2023/elts/us-gaap-2023.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: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/2023/elts/us-gaap-2023.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='cvr-20230331.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/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock' xlink:label='us-gaap_BasisOfAccountingPolicyPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounting Policies {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>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_BasisOfAccountingPolicyPolicyTextBlock' xlink:to='lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock' xlink:label='us-gaap_RevenueFromContractWithCustomerTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RevenueFromContractWithCustomerTextBlock' 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_RevenueFromContractWithCustomerTextBlock' xlink:to='lab_us-gaap_RevenueFromContractWithCustomerTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract'/>
		<link: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/2023/elts/us-gaap-2023.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</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/2023/elts/us-gaap-2023.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.fasb.org/us-gaap/2023/elts/us-gaap-2023.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.sec.gov/dei/2023/dei-2023.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/2023/elts/us-gaap-2023.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/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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</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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 (loss) 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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</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/2023/elts/us-gaap-2023.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.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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 {2}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/terseLabel' 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/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureTextBlock' xlink:label='us-gaap_InventoryDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventories {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/terseLabel' 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_InventoryDisclosureTextBlock' xlink:to='lab_us-gaap_InventoryDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares' xlink:label='us-gaap_TreasuryStockCommonShares'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TreasuryStockCommonShares' 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_TreasuryStockCommonShares' 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_TreasuryStockCommonShares' 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_TreasuryStockCommonShares' xlink:to='lab_us-gaap_TreasuryStockCommonShares'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 (loss) 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/2023/elts/us-gaap-2023.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'>Net property, plant and equipment</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentNet' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net property, plant and equipment</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'>Net 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_PropertyPlantAndEquipmentNet' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link: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.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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.sec.gov/dei/2023/dei-2023.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/2023/elts/us-gaap-2023.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='cvr-20230331.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/srt/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock' xlink:label='us-gaap_RevenueFromContractWithCustomerPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Revenue {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/terseLabel' 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_RevenueFromContractWithCustomerPolicyTextBlock' xlink:to='lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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</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.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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'>Inventories {3}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/terseLabel' 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_ScheduleOfInventoryCurrentTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20230331.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/2023/elts/us-gaap-2023.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 (used in) 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 (used in) 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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</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/2023/elts/us-gaap-2023.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.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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/srt/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 3)</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/2023/elts/us-gaap-2023.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.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 allowance of $160,000</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 - Less allowance of $160,000</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/2023/dei-2023.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.fasb.org/us-gaap/2023/elts/us-gaap-2023.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'>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_InterestAndOtherIncome' xlink:to='lab_us-gaap_InterestAndOtherIncome'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20230331.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='cvr-20230331.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/srt/2023/elts/srt-2023.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/srt/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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'>Segment Reporting</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/2023/elts/us-gaap-2023.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.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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.fasb.org/us-gaap/2023/elts/us-gaap-2023.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.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract' xlink:label='us-gaap_PropertyPlantAndEquipmentAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentAbstract' 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_PropertyPlantAndEquipmentAbstract' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/dei-2023.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.sec.gov/dei/2023/dei-2023.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='cvr-20230331.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</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 adminstrative 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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 {2}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:role='http://www.xbrl.org/2003/role/terseLabel' 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/us-gaap/2023/elts/us-gaap-2023.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 by Segment</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/srt/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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 {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/terseLabel' 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/2023/elts/us-gaap-2023.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'>Risks and Uncertainties {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ConcentrationRiskCreditRisk' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Risks and Uncertainties</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/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantAccountingPoliciesTextBlock' xlink:label='us-gaap_SignificantAccountingPoliciesTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SignificantAccountingPoliciesTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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_SignificantAccountingPoliciesTextBlock' xlink:to='lab_us-gaap_SignificantAccountingPoliciesTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link: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/2023/elts/us-gaap-2023.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'>Condensed Consolidated Statements of Shareholders&apos; Equity (Unaudited)</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'>Condensed Consolidated Statements of Shareholders&apos; Equity (Unaudited) - 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/2023/elts/us-gaap-2023.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 (loss) 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 (loss) 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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'>Production equipment 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_MachineryAndEquipmentGross' xlink:to='lab_us-gaap_MachineryAndEquipmentGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 material</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='cvr-20230331.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/srt/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Deferred 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_DeferredIncomeTaxExpenseBenefit' xlink:to='lab_us-gaap_DeferredIncomeTaxExpenseBenefit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract' xlink:label='us-gaap_IncomeStatementAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeStatementAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Condensed Consolidated Statements of Operations (Unaudited)</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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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.fasb.org/us-gaap/2023/elts/us-gaap-2023.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'>Condensed 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'>Condensed 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/2023/dei-2023.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/2023/dei-2023.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:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>8
<FILENAME>cvr-20230331_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 [PPXC1A0KDJ2KVD9NVDXT]. 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/20230331"
		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/20230331/role/idr_DocumentDocumentAndEntityInformation" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DocumentDocumentAndEntityInformation"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DocumentDocumentAndEntityInformation">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.xsd#dei_DocumentQuarterlyReport' xlink:label='dei_DocumentQuarterlyReport'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentQuarterlyReport' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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='11.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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='12.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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='13.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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='14.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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='15.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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='16.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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='17.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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='18.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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='19.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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='20.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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='21.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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='22.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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='23.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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='24.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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='25.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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='26.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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='27.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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='28.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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='29.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_StatementCondensedConsolidatedBalanceSheets"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract' xlink:label='us-gaap_StatementOfFinancialPositionAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract' xlink:label='us-gaap_AssetsAbstract'/>
		<link: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract' xlink:label='us-gaap_PropertyPlantAndEquipmentAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentAbstract' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_PropertyPlantAndEquipmentAbstract' xlink:to='us-gaap_LandAndLandImprovements' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_PropertyPlantAndEquipmentAbstract' xlink:to='us-gaap_BuildingsAndImprovementsGross' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_PropertyPlantAndEquipmentAbstract' xlink:to='us-gaap_MachineryAndEquipmentGross' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross' xlink:label='us-gaap_PropertyPlantAndEquipmentGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentGross' 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/2023/elts/us-gaap-2023.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_PropertyPlantAndEquipmentAbstract' xlink:to='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentNet' 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20230331/role/idr_StatementCondensedConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_StatementCondensedConsolidatedBalanceSheetsParenthetical"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheetsParenthetical">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract' xlink:label='us-gaap_StatementOfFinancialPositionAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent' xlink:label='us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare' xlink:label='us-gaap_PreferredStockParOrStatedValuePerShare'/>
		<link: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='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized' xlink:label='us-gaap_PreferredStockSharesAuthorized'/>
		<link: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='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare' xlink:label='us-gaap_CommonStockParOrStatedValuePerShare'/>
		<link: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='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized' xlink:label='us-gaap_CommonStockSharesAuthorized'/>
		<link: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='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued' xlink:label='us-gaap_CommonStockSharesIssued'/>
		<link: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='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding' xlink:label='us-gaap_CommonStockSharesOutstanding'/>
		<link: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='8.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract' xlink:label='us-gaap_IncomeStatementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues' xlink:label='us-gaap_Revenues'/>
		<link: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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_IncomeStatementAbstract' xlink:to='us-gaap_SellingGeneralAndAdministrativeExpense' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss' xlink:label='us-gaap_OperatingIncomeLoss'/>
		<link: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='5.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='7.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link: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='9.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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='11.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:label='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding'/>
		<link: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='12.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='13.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnaudited" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnaudited"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnaudited">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract' xlink:label='us-gaap_StatementOfStockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember' xlink:label='us-gaap_RetainedEarningsMember'/>
		<link: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'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember' xlink:label='us-gaap_TreasuryStockCommonMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_TreasuryStockCommonMember' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares' xlink:label='us-gaap_TreasuryStockCommonShares'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_TreasuryStockCommonShares' 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares' xlink:label='us-gaap_TreasuryStockCommonShares_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_TreasuryStockCommonShares_1' use='optional' order='8.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnauditedParenthetical" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnauditedParenthetical"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnauditedParenthetical">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract' xlink:label='us-gaap_StatementOfStockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract' xlink:label='us-gaap_StatementOfCashFlowsAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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='2.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivities'/>
		<link: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='3.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:label='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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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='5.0' preferredLabel='http://www.xbrl.org/2003/role/periodStartLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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='6.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPolicies" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureAccountingPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantAccountingPoliciesTextBlock' xlink:label='us-gaap_SignificantAccountingPoliciesTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_SignificantAccountingPoliciesTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_DisclosureRisksAndUncertainties" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureRisksAndUncertainties"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureRisksAndUncertainties">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock' xlink:label='us-gaap_ConcentrationRiskDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_ConcentrationRiskDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_DisclosureCommitmentsAndContingencies" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureCommitmentsAndContingencies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureCommitmentsAndContingencies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LegalMattersAndContingenciesTextBlock' xlink:label='us-gaap_LegalMattersAndContingenciesTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_LegalMattersAndContingenciesTextBlock' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenue" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureRevenue"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenue">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock' xlink:label='us-gaap_RevenueFromContractWithCustomerTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_RevenueFromContractWithCustomerTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_DisclosureIncomeTaxes" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureIncomeTaxes"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureIncomeTaxes">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230331/role/idr_DisclosureInventories" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureInventories"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureInventories">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureTextBlock' xlink:label='us-gaap_InventoryDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_InventoryDisclosureTextBlock' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReporting" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureSegmentReporting"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReporting">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock' xlink:label='us-gaap_SegmentReportingDisclosureTextBlock'/>
		<link: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/20230331/role/idr_DisclosureAccountingPoliciesPolicies" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureAccountingPoliciesPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPoliciesPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.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='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock' xlink:label='us-gaap_BasisOfAccountingPolicyPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_BasisOfAccountingPolicyPolicyTextBlock' 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/2023/elts/us-gaap-2023.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_StatementLineItems' xlink:to='us-gaap_ConcentrationRiskCreditRisk' 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/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesPolicyTextBlock' xlink:label='us-gaap_CommitmentsAndContingenciesPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_CommitmentsAndContingenciesPolicyTextBlock' 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/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock' xlink:label='us-gaap_RevenueFromContractWithCustomerPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_RevenueFromContractWithCustomerPolicyTextBlock' 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/2023/elts/us-gaap-2023.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_StatementLineItems' xlink:to='us-gaap_IncomeTaxPolicyTextBlock' 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/2023/elts/us-gaap-2023.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_StatementLineItems' xlink:to='us-gaap_InventoryPolicyTextBlock' 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/2023/elts/us-gaap-2023.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_StatementLineItems' xlink:to='us-gaap_SegmentReportingPolicyPolicyTextBlock' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueTables" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureRevenueDisaggregationOfRevenueTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link: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/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20230331.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20230331.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20230331/role/idr_DisclosureInventoriesInventoriesTables" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureInventoriesInventoriesTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureInventoriesInventoriesTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock' xlink:label='us-gaap_ScheduleOfInventoryCurrentTableTextBlock'/>
		<link: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' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentTables" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueDetails" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureRevenueDisaggregationOfRevenueDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20230331.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-20230331.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20230331.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-20230331.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/country-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_DisclosureInventoriesInventoriesDetails" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureInventoriesInventoriesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureInventoriesInventoriesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryGross' xlink:label='us-gaap_InventoryGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryGross' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='5.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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='6.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails" xlink:type="simple" xlink:href="cvr-20230331.xsd#idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20230331.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-20230331.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-20230331.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20230331.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-20230331.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'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:label='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link: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='6.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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='7.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link: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='9.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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='10.0'/>
	</link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>9
<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="idm140539369878304">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document and Entity Information - shares<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>May 05, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_dei_EntityCentralIndexKey', window );">Registrant CIK</a></td>
<td class="text">0000019871<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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<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">Mar. 31,  2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">000-01227<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_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">CHICAGO RIVET & MACHINE CO<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_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">IL<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_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">36-0904920<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">901 Frontenac Road<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Naperville<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">IL<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_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">60563<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_CityAreaCode', window );">City Area Code</a></td>
<td class="text">630<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_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">357-8500<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_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>
</tr>
<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_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">CVR<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_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NYSEAMER<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_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<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_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<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_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q1<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_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<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_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_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-Q<br> -Number 240<br> -Section 308<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentQuarterlyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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>10
<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="idm140539368357056">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Balance Sheets - USD ($)<br></strong></div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current 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">$ 2,265,723<span></span>
</td>
<td class="nump">$ 4,045,101<span></span>
</td>
</tr>
<tr class="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,193,000<span></span>
</td>
<td class="nump">2,691,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 allowance of $160,000</a></td>
<td class="nump">6,173,074<span></span>
</td>
<td class="nump">4,975,137<span></span>
</td>
</tr>
<tr class="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,998,952<span></span>
</td>
<td class="nump">9,121,230<span></span>
</td>
</tr>
<tr class="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">672,119<span></span>
</td>
<td class="nump">509,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_OtherAssetsCurrent', window );">Other current assets</a></td>
<td class="nump">420,199<span></span>
</td>
<td class="nump">422,747<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,723,067<span></span>
</td>
<td class="nump">21,764,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_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment</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,510,513<span></span>
</td>
</tr>
<tr class="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,758,266<span></span>
</td>
<td class="nump">6,758,266<span></span>
</td>
</tr>
<tr class="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 );">Production equipment and other</a></td>
<td class="nump">37,494,180<span></span>
</td>
<td class="nump">37,080,762<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_PropertyPlantAndEquipmentGross', window );">Property, Plant and Equipment, Gross</a></td>
<td class="nump">45,762,959<span></span>
</td>
<td class="nump">45,349,541<span></span>
</td>
</tr>
<tr class="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="nump">33,793,779<span></span>
</td>
<td class="nump">33,487,748<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_PropertyPlantAndEquipmentNet', window );">Net property, plant and equipment</a></td>
<td class="nump">11,969,180<span></span>
</td>
<td class="nump">11,861,793<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,692,247<span></span>
</td>
<td class="nump">33,626,127<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">1,621,403<span></span>
</td>
<td class="nump">697,235<span></span>
</td>
</tr>
<tr class="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">675,078<span></span>
</td>
<td class="nump">462,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">115,734<span></span>
</td>
<td class="nump">327,961<span></span>
</td>
</tr>
<tr class="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">183,836<span></span>
</td>
<td class="nump">203,717<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">2,596,051<span></span>
</td>
<td class="nump">1,691,245<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">905,084<span></span>
</td>
<td class="nump">948,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">3,501,135<span></span>
</td>
<td class="nump">2,639,329<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">32,527,980<span></span>
</td>
<td class="nump">33,323,666<span></span>
</td>
</tr>
<tr class="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,191,112<span></span>
</td>
<td class="nump">30,986,798<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,692,247<span></span>
</td>
<td class="nump">$ 33,626,127<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483032/340-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 5<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482955/340-10-05-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481520/505-30-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>11
<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="idm140539369797600">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Balance Sheets - Parenthetical - USD ($)<br></strong></div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>Condensed 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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Accounts Receivable, Allowance for Credit Loss, Current</a></td>
<td class="nump">$ 160,000<span></span>
</td>
<td class="nump">$ 160,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred Stock, Shares Authorized</a></td>
<td class="nump">500,000<span></span>
</td>
<td class="nump">500,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_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="ro">
<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="re">
<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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common Stock, Shares, Issued</a></td>
<td class="nump">1,138,096<span></span>
</td>
<td class="nump">1,138,096<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common Stock, Shares, Outstanding</a></td>
<td class="nump">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_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>12
<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="idm140539368881936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Operations (Unaudited) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 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_IncomeStatementAbstract', window );"><strong>Condensed Consolidated Statements of Operations (Unaudited)</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">$ 8,729,725<span></span>
</td>
<td class="nump">$ 9,197,696<span></span>
</td>
</tr>
<tr class="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">8,252,222<span></span>
</td>
<td class="nump">7,341,474<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">477,503<span></span>
</td>
<td class="nump">1,856,222<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling and administrative expenses</a></td>
<td class="nump">1,257,695<span></span>
</td>
<td class="nump">1,295,664<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating profit (loss)</a></td>
<td class="num">(780,192)<span></span>
</td>
<td class="nump">560,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_OtherNonoperatingIncomeExpense', window );">Other income</a></td>
<td class="nump">43,055<span></span>
</td>
<td class="nump">9,755<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic', window );">Income (loss) before income taxes</a></td>
<td class="num">(737,137)<span></span>
</td>
<td class="nump">570,313<span></span>
</td>
</tr>
<tr class="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 (benefit) for income taxes</a></td>
<td class="num">(154,000)<span></span>
</td>
<td class="nump">123,000<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_NetIncomeLoss', window );">Net Income (loss)</a></td>
<td class="num">$ (583,137)<span></span>
</td>
<td class="nump">$ 447,313<span></span>
</td>
</tr>
<tr class="re">
<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="ro">
<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 (loss) per share</a></td>
<td class="num">$ (0.60)<span></span>
</td>
<td class="nump">$ 0.46<span></span>
</td>
</tr>
<tr class="re">
<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 (loss) per share</a></td>
<td class="num">$ (0.60)<span></span>
</td>
<td class="nump">$ 0.46<span></span>
</td>
</tr>
<tr class="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>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted</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_CommonStockDividendsPerShareDeclared', window );">Cash dividends declared per share</a></td>
<td class="nump">$ 0.22<span></span>
</td>
<td class="nump">$ 0.22<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> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<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="idm140539365637888">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Shareholders' Equity (Unaudited) - 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, Common</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, 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="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_TreasuryStockCommonShares', 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="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 (loss)</a></td>
<td class="nump">447,313<span></span>
</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">447,313<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">(212,549)<span></span>
</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">(212,549)<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 Mar. 31, 2022</a></td>
<td class="nump">29,204,129<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,540,997<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 Mar. 31, 2022</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_TreasuryStockCommonShares', window );">Treasury Stock Shares at Mar. 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>
<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, 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_TreasuryStockCommonShares', 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>
<tr class="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 (loss)</a></td>
<td class="num">$ (583,137)<span></span>
</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">(583,137)<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">(212,549)<span></span>
</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">(212,549)<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 Mar. 31, 2023</a></td>
<td class="nump">$ 30,191,112<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">$ 32,527,980<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 Mar. 31, 2023</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_TreasuryStockCommonShares', window );">Treasury Stock Shares at Mar. 31, 2023</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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Dividends">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of paid and unpaid cash, stock, and paid-in-kind (PIK) dividends declared, for example, but not limited to, common and preferred stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -SubTopic 405<br> -Topic 942<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481071/942-405-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Dividends</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 previously issued common shares repurchased by the issuing entity and held in 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> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonShares</td>
</tr>
<tr>
<td style="padding-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>14
<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="idm140539371178640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Shareholders' Equity (Unaudited) - Parenthetical - $ / shares<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 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_StatementOfStockholdersEquityAbstract', window );"><strong>Condensed Consolidated Statements of Shareholders' Equity (Unaudited)</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.22<span></span>
</td>
<td class="nump">$ 0.22<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> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>15
<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="idm140539365824832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Cash Flows (Unaudited) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 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_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 (loss)</a></td>
<td class="num">$ (583,137)<span></span>
</td>
<td class="nump">$ 447,313<span></span>
</td>
</tr>
<tr class="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 (loss) 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</a></td>
<td class="nump">306,032<span></span>
</td>
<td class="nump">320,424<span></span>
</td>
</tr>
<tr class="re">
<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="num">(43,000)<span></span>
</td>
<td class="num">(24,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_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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="num">(1,197,937)<span></span>
</td>
<td class="num">(990,427)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="num">(877,722)<span></span>
</td>
<td class="num">(1,093,460)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets', window );">Other current assets</a></td>
<td class="num">(160,452)<span></span>
</td>
<td class="num">(37,522)<span></span>
</td>
</tr>
<tr class="ro">
<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">924,168<span></span>
</td>
<td class="nump">754,192<span></span>
</td>
</tr>
<tr class="re">
<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="nump">212,746<span></span>
</td>
<td class="nump">197,065<span></span>
</td>
</tr>
<tr class="ro">
<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">(212,227)<span></span>
</td>
<td class="nump">53,411<span></span>
</td>
</tr>
<tr class="re">
<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">(19,881)<span></span>
</td>
<td class="num">(15,390)<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_NetCashProvidedByUsedInOperatingActivities', window );">Net cash used in operating activities</a></td>
<td class="num">(1,651,410)<span></span>
</td>
<td class="num">(388,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_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="ro">
<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">(413,419)<span></span>
</td>
<td class="num">(120,594)<span></span>
</td>
</tr>
<tr class="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">498,000<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_NetCashProvidedByUsedInInvestingActivities', window );">Net cash provided by (used in) investing activities</a></td>
<td class="nump">84,581<span></span>
</td>
<td class="num">(120,594)<span></span>
</td>
</tr>
<tr class="re">
<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="ro">
<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">(212,549)<span></span>
</td>
<td class="num">(212,549)<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_NetCashProvidedByUsedInFinancingActivities', window );">Net cash used in financing activities</a></td>
<td class="num">(212,549)<span></span>
</td>
<td class="num">(212,549)<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect', window );">Net decrease in cash and cash equivalents</a></td>
<td class="num">(1,779,378)<span></span>
</td>
<td class="num">(721,537)<span></span>
</td>
</tr>
<tr class="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 );">Cash and cash equivalents at beginning of period</a></td>
<td class="nump">4,045,101<span></span>
</td>
<td class="nump">2,036,954<span></span>
</td>
</tr>
<tr class="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 at end of period</a></td>
<td class="nump">$ 2,265,723<span></span>
</td>
<td class="nump">$ 1,315,417<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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 50<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480060/805-50-25-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 50<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480027/805-50-30-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 50<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480027/805-50-30-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481830/320-10-45-11<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<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="idm140539373272528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_SignificantAccountingPoliciesTextBlock', window );">Accounting Policies</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">1. &#160;In the opinion of the Company, the accompanying unaudited interim financial statements contain all adjustments necessary to present fairly the financial position of the Company as of March 31, 2023 (unaudited) and December 31, 2022 (audited) and the results of operations and changes in cash flows for the indicated periods. &#160;Certain information and note disclosures normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America have been omitted from these unaudited financial statements in accordance with applicable rules. Please refer to the financial statements and notes thereto included in the Company&#8217;s Annual Report on Form 10-K for the year ended December 31, 2022.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. &#160;Actual results could differ from those estimates. &#160;The results of operations for the three month period ended March 31, 2023 are not necessarily indicative of the results to be expected for the year.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">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, using the modified retrospective approach. The adoption did not result in the recognition of a cumulative adjustment to beginning retained earnings, nor did it have a material impact on the condensed consolidated financial statements.</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_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//235/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<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="idm140539374715136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Risks and Uncertainties<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_ConcentrationRiskDisclosureTextBlock', window );">Risks and Uncertainties</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">2. &#160;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 in part 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;The Company also considers current economic conditions, the economic outlook and industry-specific factors in its evaluation. &#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>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk as of the balance sheet 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> -Topic 275<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//275/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>18
<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="idm140539372053552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_LegalMattersAndContingenciesTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">3. &#160;The Company is, from time to time, involved in litigation, including environmental claims and contract disputes, 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> <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_LegalMattersAndContingenciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 legal proceedings, legal contingencies, litigation, regulatory and environmental matters and other 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> -Topic 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//450/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LegalMattersAndContingenciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>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="idm140539373217968">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_RevenueFromContractWithCustomerTextBlock', window );">Revenue</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">4. &#160;Revenue&#8212;The Company operates in the fastener industry and is in the business of manufacturing and selling rivets, cold-formed fasteners and parts, screw machine products, automatic rivet setting machines and parts and tools for such machines. &#160;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;For certain assembly equipment segment transactions, revenue is recognized based on progress toward completion of the performance obligation using a labor-based measure. &#160;Labor incurred and specific material costs are compared to milestone payments per sales contract. &#160;Based on our experience, this method most accurately reflects the transfer of goods under such contracts. &#160;During the first quarter of 2023, the Company did not realize any revenue related to such contracts. &#160;As of March 31, 2023, there are no such contracts outstanding.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">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. &#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 March 31, 2023 and December 31, 2022 reserves for warranty claims were not material. &#160;Cash received by the Company prior to shipment is recorded as unearned revenue.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">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">Sales commissions are expensed when incurred because the amortization period is less than one year. &#160;These costs are recorded within selling and administrative expenses in the statement of income.</p> <p style="font:10pt Arial;margin:0;color:#000000">&#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">&#160;</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 Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:162pt;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:72pt;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:72pt;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:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:11pt Arial Narrow;margin:0;color:#339966"><span style="font:9pt Arial;color:#000000">Three Months Ended March 31, 2023:</span></p> </td>
<td style="width:72pt;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:72pt;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:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">Automotive</p> </td>
<td style="background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;5,006,190</p> </td>
<td style="background-color:#CEE7FF;width:72pt;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;&#160;44,878</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;5,051,068</p> </td></tr>
<tr>
<td style="width:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">Non-automotive</p> </td>
<td style="width:72pt;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">2,850,623</p> </td>
<td style="width:72pt;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">828,034</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,678,657</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">Total net sales</p> </td>
<td style="background-color:#CEE7FF;width:72pt;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;7,856,813</p> </td>
<td style="background-color:#CEE7FF;width:72pt;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;&#160;&#160;872,912</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;8,729,725</p> </td></tr>
<tr>
<td style="width:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">&#160;</p> </td>
<td style="width:72pt;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:72pt;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:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">Three Months Ended March 31, 2022:</p> </td>
<td style="background-color:#CEE7FF;width:72pt;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:72pt;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:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">Automotive</p> </td>
<td style="width:72pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;4,904,183</p> </td>
<td style="width:72pt;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;&#160;41,463</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;4,945,646</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">Non-automotive</p> </td>
<td style="background-color:#CEE7FF;width:72pt;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,249,650</p> </td>
<td style="background-color:#CEE7FF;width:72pt;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">1,002,400</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">4,252,050</p> </td></tr>
<tr>
<td style="width:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">Total net sales</p> </td>
<td style="width:72pt;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;8,153,833</p> </td>
<td style="width:72pt;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;1,043,863</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;9,197,696</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:162pt;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:72pt;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="background-color:#CEE7FF;width:72pt;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="background-color:#CEE7FF;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> </table> <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 Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:157.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:72pt;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:72pt;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:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Three Months Ended March 31, 2023:</span></p> </td>
<td style="width:72pt;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:72pt;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:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">United States</p> </td>
<td style="background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;6,391,747</p> </td>
<td style="background-color:#CEE7FF;width:72pt;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;786,571</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;7,178,318</p> </td></tr>
<tr>
<td style="width:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">Foreign</p> </td>
<td style="width:72pt;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">1,465,066</p> </td>
<td style="width:72pt;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">86,341</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">1,551,407</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">Total net sales</p> </td>
<td style="background-color:#CEE7FF;width:72pt;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;7,856,813</p> </td>
<td style="background-color:#CEE7FF;width:72pt;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;&#160;872,912</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;8,729,725</p> </td></tr>
<tr>
<td style="width:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">&#160;</p> </td>
<td style="width:72pt;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:72pt;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:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">Three Months Ended March 31, 2022:</p> </td>
<td style="background-color:#CEE7FF;width:72pt;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:72pt;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:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">United States</p> </td>
<td style="width:72pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;6,760,129</p> </td>
<td style="width:72pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;1,004,151</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;7,764,280</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">Foreign</p> </td>
<td style="background-color:#CEE7FF;width:72pt;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">1,393,704</p> </td>
<td style="background-color:#CEE7FF;width:72pt;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">39,712</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">1,433,416</p> </td></tr>
<tr>
<td style="width:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">Total net sales</p> </td>
<td style="width:72pt;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;8,153,833</p> </td>
<td style="width:72pt;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;1,043,863</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;9,197,696</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:157.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:72pt;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="background-color:#CEE7FF;width:72pt;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="background-color:#CEE7FF;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> </table> <p style="font:10pt Courier New;margin:0">&#160;</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_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-9<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-15<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<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="idm140539372102400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 );">Income Taxes</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">5. &#160;The Company&#8217;s effective tax rates were approximately (20.9)% and 21.6% for the first quarter of 2023 and 2022, respectively.</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 2022 tax years are subject to examination by the Internal Revenue Service (&#8220;IRS&#8221;). &#160;&#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. &#160;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 through 2022 federal income tax returns will expire on September 15, 2023 through 2026, 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 2022 tax years remain subject to examination by various state authorities with the latest closing period on October 31, 2026. &#160;The Company is not currently 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>
</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> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//740/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-21<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482526/740-270-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>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="idm140539374715136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_InventoryDisclosureTextBlock', window );">Inventories</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">6. &#160;Inventories are stated at the lower of cost or net realizable value, cost being determined by the first-in, first-out method.</p> <p style="font:10pt Courier New;margin:0;color:#000000"><span style="font-family:Arial"> &#160;A summary of inventories is as follows:</span> </p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:87.85pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">March 31, 2023</span></p> </td>
<td style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:87.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">December 31, 2022</span></p> </td></tr>
<tr>
<td style="width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0">Raw material</p> </td>
<td style="width:87.85pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;4,609,907&#160;&#160;&#160;</p> </td>
<td style="width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:87.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;4,460,071&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0">Work-in-process</p> </td>
<td style="background-color:#CEE7FF;width:87.85pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">3,147,846&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:87.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">2,747,427&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0">Finished goods</p> </td>
<td style="width:87.85pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">2,862,199&#160;&#160;&#160;</p> </td>
<td style="width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:87.55pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">2,534,732&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0">Inventories, gross</p> </td>
<td style="background-color:#CEE7FF;width:87.85pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">10,619,952&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:87.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">9,742,230&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0">Valuation reserves</p> </td>
<td style="width:87.85pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">(621,000)&#160;&#160;</p> </td>
<td style="width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:87.55pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">(621,000)&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0">Inventories, net</p> </td>
<td style="background-color:#CEE7FF;width:87.85pt;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;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;9,998,952&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:87.55pt;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;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;9,121,230&#160;&#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_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_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//330/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<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="idm140539372039408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment Reporting<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 );">Segment Reporting</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">7. &#160;Segment Information&#8212;The Company operates in two business segments as determined by its products. &#160;The fastener segment 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.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">Information by segment is as follows:</p> <p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" 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:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Three Months Ended March 31, 2023:</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:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Net sales</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;7,856,813&#160;&#160;&#160;</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;872,912&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</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;8,729,725&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:190.95pt" 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:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Depreciation</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">272,636&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">30,732&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">2,664&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">306,032&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:190.95pt" 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:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment operating profit (loss)</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(428,501)&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">189,315&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(239,186)&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Selling and administrative expenses</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(538,537)&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(538,537)&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Interest income</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">40,586&#160;&#160;&#160;</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">40,586&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Loss before income taxes</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">$ &#160;&#160;&#160;&#160;(737,137)&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" 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:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Capital expenditures</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">336,066&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">77,353&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">413,419&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" 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:190.95pt" 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:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Accounts receivable, net</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,857,565&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">315,509&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">6,173,074&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Inventories, net</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">8,566,031&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,432,921&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">9,998,952&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Property, plant and equipment, net</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">9,625,759&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,272,765&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,070,656&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">11,969,180&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Other assets</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,551,041&#160;&#160;&#160;</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">5,551,041&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" 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">$ &#160;&#160;&#160;33,692,247&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:190.95pt" 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:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Three Months Ended March 31, 2022:</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:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Net sales</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;8,153,833&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;1,043,863&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;9,197,696&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" 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:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Depreciation</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">281,841&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">33,363&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,220&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">320,424&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" 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:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment operating profit</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">835,507&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">232,279&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,067,786&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Selling and administrative expenses</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(499,328)&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(499,328)&#160;&#160;</p> </td></tr>
<tr>
<td style="width:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Interest income</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,755&#160;&#160;&#160;</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">1,755&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Income before income taxes</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">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;570,213&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:190.95pt" 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:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Capital expenditures</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">112,864&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">7,730&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">120,594&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:190.95pt" 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:190.95pt" 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:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Accounts receivable, net</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">6,151,706&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">486,705&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">6,638,411&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Inventories, net</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">8,299,454&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,313,786&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">9,613,240&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Property, plant and equipment, net</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">9,613,347&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,400,542&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,260,145&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">12,274,034&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Other assets</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,440,615&#160;&#160;&#160;</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">4,440,615&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:190.95pt" 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">$ &#160;&#160;&#160;&#160;32,966,300&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" 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">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" 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">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#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_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> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//280/tableOfContent<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-26<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 34<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-34<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<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="idm140539364364928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock', window );">Accounting Policies</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">1. &#160;In the opinion of the Company, the accompanying unaudited interim financial statements contain all adjustments necessary to present fairly the financial position of the Company as of March 31, 2023 (unaudited) and December 31, 2022 (audited) and the results of operations and changes in cash flows for the indicated periods. &#160;Certain information and note disclosures normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America have been omitted from these unaudited financial statements in accordance with applicable rules. Please refer to the financial statements and notes thereto included in the Company&#8217;s Annual Report on Form 10-K for the year ended December 31, 2022.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. &#160;Actual results could differ from those estimates. &#160;The results of operations for the three month period ended March 31, 2023 are not necessarily indicative of the results to be expected for the year.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">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, using the modified retrospective approach. The adoption did not result in the recognition of a cumulative adjustment to beginning retained earnings, nor did it have a material impact on the condensed consolidated financial statements.</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 );">Risks and Uncertainties</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">2. &#160;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 in part 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;The Company also considers current economic conditions, the economic outlook and industry-specific factors in its evaluation. &#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_CommitmentsAndContingenciesPolicyTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">3. &#160;The Company is, from time to time, involved in litigation, including environmental claims and contract disputes, 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> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock', window );">Revenue</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">4. &#160;Revenue&#8212;The Company operates in the fastener industry and is in the business of manufacturing and selling rivets, cold-formed fasteners and parts, screw machine products, automatic rivet setting machines and parts and tools for such machines. &#160;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;For certain assembly equipment segment transactions, revenue is recognized based on progress toward completion of the performance obligation using a labor-based measure. &#160;Labor incurred and specific material costs are compared to milestone payments per sales contract. &#160;Based on our experience, this method most accurately reflects the transfer of goods under such contracts. &#160;During the first quarter of 2023, the Company did not realize any revenue related to such contracts. &#160;As of March 31, 2023, there are no such contracts outstanding.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">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. &#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 March 31, 2023 and December 31, 2022 reserves for warranty claims were not material. &#160;Cash received by the Company prior to shipment is recorded as unearned revenue.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">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">Sales commissions are expensed when incurred because the amortization period is less than one year. &#160;These costs are recorded within selling and administrative expenses in the statement of income.</p> <p style="font:10pt Arial;margin:0;color:#000000">&#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_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">5. &#160;The Company&#8217;s effective tax rates were approximately (20.9)% and 21.6% for the first quarter of 2023 and 2022, respectively.</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 2022 tax years are subject to examination by the Internal Revenue Service (&#8220;IRS&#8221;). &#160;&#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. &#160;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 through 2022 federal income tax returns will expire on September 15, 2023 through 2026, 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 2022 tax years remain subject to examination by various state authorities with the latest closing period on October 31, 2026. &#160;The Company is not currently 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_InventoryPolicyTextBlock', window );">Inventories</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">6. &#160;Inventories are stated at the lower of cost or net realizable value, cost being determined by the first-in, first-out method.</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_SegmentReportingPolicyPolicyTextBlock', window );">Segment Reporting</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">7. &#160;Segment Information&#8212;The Company operates in two business segments as determined by its products. &#160;The fastener segment 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.</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_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>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_BasisOfAccountingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for commitments and contingencies, which may include policies for recognizing and measuring loss and gain contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 450<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480598/954-450-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480981/942-825-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskCreditRisk</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-25<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-28<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-19<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 330<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482105/912-330-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//330/tableOfContent<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482989/270-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue from contract with customer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-19<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-18<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482785/280-10-55-47<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<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="idm140539369743808">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue: Disaggregation of Revenue (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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 Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:157.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:72pt;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:72pt;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:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Three Months Ended March 31, 2023:</span></p> </td>
<td style="width:72pt;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:72pt;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:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">United States</p> </td>
<td style="background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;6,391,747</p> </td>
<td style="background-color:#CEE7FF;width:72pt;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;786,571</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;7,178,318</p> </td></tr>
<tr>
<td style="width:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">Foreign</p> </td>
<td style="width:72pt;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">1,465,066</p> </td>
<td style="width:72pt;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">86,341</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">1,551,407</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">Total net sales</p> </td>
<td style="background-color:#CEE7FF;width:72pt;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;7,856,813</p> </td>
<td style="background-color:#CEE7FF;width:72pt;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;&#160;872,912</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;8,729,725</p> </td></tr>
<tr>
<td style="width:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">&#160;</p> </td>
<td style="width:72pt;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:72pt;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:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">Three Months Ended March 31, 2022:</p> </td>
<td style="background-color:#CEE7FF;width:72pt;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:72pt;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:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">United States</p> </td>
<td style="width:72pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;6,760,129</p> </td>
<td style="width:72pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;1,004,151</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;7,764,280</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">Foreign</p> </td>
<td style="background-color:#CEE7FF;width:72pt;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">1,393,704</p> </td>
<td style="background-color:#CEE7FF;width:72pt;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">39,712</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">1,433,416</p> </td></tr>
<tr>
<td style="width:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">Total net sales</p> </td>
<td style="width:72pt;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;8,153,833</p> </td>
<td style="width:72pt;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;1,043,863</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;9,197,696</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:157.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:72pt;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="background-color:#CEE7FF;width:72pt;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="background-color:#CEE7FF;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> </table> <p style="font:10pt Courier New;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 Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:162pt;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:72pt;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:72pt;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:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:11pt Arial Narrow;margin:0;color:#339966"><span style="font:9pt Arial;color:#000000">Three Months Ended March 31, 2023:</span></p> </td>
<td style="width:72pt;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:72pt;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:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">Automotive</p> </td>
<td style="background-color:#CEE7FF;width:72pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;5,006,190</p> </td>
<td style="background-color:#CEE7FF;width:72pt;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;&#160;44,878</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;5,051,068</p> </td></tr>
<tr>
<td style="width:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">Non-automotive</p> </td>
<td style="width:72pt;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">2,850,623</p> </td>
<td style="width:72pt;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">828,034</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,678,657</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">Total net sales</p> </td>
<td style="background-color:#CEE7FF;width:72pt;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;7,856,813</p> </td>
<td style="background-color:#CEE7FF;width:72pt;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;&#160;&#160;872,912</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;8,729,725</p> </td></tr>
<tr>
<td style="width:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">&#160;</p> </td>
<td style="width:72pt;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:72pt;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:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">Three Months Ended March 31, 2022:</p> </td>
<td style="background-color:#CEE7FF;width:72pt;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:72pt;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:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">Automotive</p> </td>
<td style="width:72pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;4,904,183</p> </td>
<td style="width:72pt;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;&#160;41,463</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;4,945,646</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">Non-automotive</p> </td>
<td style="background-color:#CEE7FF;width:72pt;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,249,650</p> </td>
<td style="background-color:#CEE7FF;width:72pt;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">1,002,400</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">4,252,050</p> </td></tr>
<tr>
<td style="width:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">Total net sales</p> </td>
<td style="width:72pt;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;8,153,833</p> </td>
<td style="width:72pt;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;1,043,863</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;9,197,696</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:162pt;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:72pt;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="background-color:#CEE7FF;width:72pt;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="background-color:#CEE7FF;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> </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_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> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>25
<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="idm140539373696976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories: Inventories (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 );">Inventories</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:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:87.85pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">March 31, 2023</span></p> </td>
<td style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:87.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">December 31, 2022</span></p> </td></tr>
<tr>
<td style="width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0">Raw material</p> </td>
<td style="width:87.85pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;4,609,907&#160;&#160;&#160;</p> </td>
<td style="width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:87.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;4,460,071&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0">Work-in-process</p> </td>
<td style="background-color:#CEE7FF;width:87.85pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">3,147,846&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:87.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">2,747,427&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0">Finished goods</p> </td>
<td style="width:87.85pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">2,862,199&#160;&#160;&#160;</p> </td>
<td style="width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:87.55pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">2,534,732&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0">Inventories, gross</p> </td>
<td style="background-color:#CEE7FF;width:87.85pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">10,619,952&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:87.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">9,742,230&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0">Valuation reserves</p> </td>
<td style="width:87.85pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">(621,000)&#160;&#160;</p> </td>
<td style="width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:87.55pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">(621,000)&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0">Inventories, net</p> </td>
<td style="background-color:#CEE7FF;width:87.85pt;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;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;9,998,952&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:87.55pt;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;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;9,121,230&#160;&#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_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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>26
<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="idm140539373182208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment Reporting: Schedule of Segment Reporting by Segment (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 by Segment</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:190.95pt" 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:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Three Months Ended March 31, 2023:</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:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Net sales</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;7,856,813&#160;&#160;&#160;</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;872,912&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</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;8,729,725&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:190.95pt" 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:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Depreciation</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">272,636&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">30,732&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">2,664&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">306,032&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:190.95pt" 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:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment operating profit (loss)</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(428,501)&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">189,315&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(239,186)&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Selling and administrative expenses</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(538,537)&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(538,537)&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Interest income</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">40,586&#160;&#160;&#160;</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">40,586&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Loss before income taxes</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">$ &#160;&#160;&#160;&#160;(737,137)&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" 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:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Capital expenditures</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">336,066&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">77,353&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">413,419&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" 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:190.95pt" 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:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Accounts receivable, net</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,857,565&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">315,509&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">6,173,074&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Inventories, net</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">8,566,031&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,432,921&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">9,998,952&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Property, plant and equipment, net</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">9,625,759&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,272,765&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,070,656&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">11,969,180&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Other assets</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,551,041&#160;&#160;&#160;</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">5,551,041&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" 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">$ &#160;&#160;&#160;33,692,247&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:190.95pt" 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:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Three Months Ended March 31, 2022:</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:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Net sales</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;8,153,833&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;1,043,863&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;9,197,696&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" 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:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Depreciation</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">281,841&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">33,363&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,220&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">320,424&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" 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:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment operating profit</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">835,507&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">232,279&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,067,786&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Selling and administrative expenses</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(499,328)&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(499,328)&#160;&#160;</p> </td></tr>
<tr>
<td style="width:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Interest income</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,755&#160;&#160;&#160;</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">1,755&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Income before income taxes</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">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;570,213&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:190.95pt" 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:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0">Capital expenditures</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">112,864&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">7,730&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">120,594&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:190.95pt" 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:190.95pt" 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:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Accounts receivable, net</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">6,151,706&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">486,705&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">6,638,411&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Inventories, net</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">8,299,454&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,313,786&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">9,613,240&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Property, plant and equipment, net</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">9,613,347&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,400,542&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,260,145&#160;&#160;&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">12,274,034&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Other assets</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,440,615&#160;&#160;&#160;</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">4,440,615&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:190.95pt" 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">$ &#160;&#160;&#160;&#160;32,966,300&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:190.95pt" 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">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" 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">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#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_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> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-25<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>27
<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="idm140539365255056">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue: Disaggregation of Revenue (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 8,729,725<span></span>
</td>
<td class="nump">$ 9,197,696<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">7,178,318<span></span>
</td>
<td class="nump">7,764,280<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">1,551,407<span></span>
</td>
<td class="nump">1,433,416<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">5,051,068<span></span>
</td>
<td class="nump">4,945,646<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">3,678,657<span></span>
</td>
<td class="nump">4,252,050<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">7,856,813<span></span>
</td>
<td class="nump">8,153,833<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">6,391,747<span></span>
</td>
<td class="nump">6,760,129<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">1,465,066<span></span>
</td>
<td class="nump">1,393,704<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">5,006,190<span></span>
</td>
<td class="nump">4,904,183<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">2,850,623<span></span>
</td>
<td class="nump">3,249,650<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">872,912<span></span>
</td>
<td class="nump">1,043,863<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">786,571<span></span>
</td>
<td class="nump">1,004,151<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">86,341<span></span>
</td>
<td class="nump">39,712<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">44,878<span></span>
</td>
<td class="nump">41,463<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">$ 828,034<span></span>
</td>
<td class="nump">$ 1,002,400<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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>28
<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="idm140539364353488">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Inventories: Inventories (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 material</a></td>
<td class="nump">$ 4,609,907<span></span>
</td>
<td class="nump">$ 4,460,071<span></span>
</td>
</tr>
<tr class="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">3,147,846<span></span>
</td>
<td class="nump">2,747,427<span></span>
</td>
</tr>
<tr class="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,862,199<span></span>
</td>
<td class="nump">2,534,732<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryGross', window );">Inventories, gross</a></td>
<td class="nump">10,619,952<span></span>
</td>
<td class="nump">9,742,230<span></span>
</td>
</tr>
<tr class="ro">
<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">(621,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_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">$ 9,998,952<span></span>
</td>
<td class="nump">$ 9,121,230<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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoods</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross amount, 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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>29
<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="idm140539370599984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment Reporting: Schedule of Segment Reporting by Segment (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net sales</a></td>
<td class="nump">$ 8,729,725<span></span>
</td>
<td class="nump">$ 9,197,696<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">306,032<span></span>
</td>
<td class="nump">320,424<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable - Less allowance of $160,000</a></td>
<td class="nump">6,173,074<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,975,137<span></span>
</td>
</tr>
<tr class="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,998,952<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,121,230<span></span>
</td>
</tr>
<tr class="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 );">Net property, plant and equipment</a></td>
<td class="nump">11,969,180<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 11,861,793<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>
<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">7,856,813<span></span>
</td>
<td class="nump">8,153,833<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">272,636<span></span>
</td>
<td class="nump">281,841<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_SegmentOperatingprofit', window );">Segment operating profit</a></td>
<td class="num">(428,501)<span></span>
</td>
<td class="nump">835,507<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_SellingAndAdministrativeExpensesUnallocatedCorporate', window );">Selling and Administrative Expenses</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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 );">Interest income</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="nump">336,066<span></span>
</td>
<td class="nump">112,864<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable - Less allowance of $160,000</a></td>
<td class="nump">5,857,565<span></span>
</td>
<td class="nump">6,151,706<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_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">8,566,031<span></span>
</td>
<td class="nump">8,299,454<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_PropertyPlantAndEquipmentNet', window );">Net property, plant and equipment</a></td>
<td class="nump">9,625,759<span></span>
</td>
<td class="nump">9,613,347<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_OtherAssets', window );">Other Assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_AssemblyEquipmentMember', window );">Assembly Equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net sales</a></td>
<td class="nump">872,912<span></span>
</td>
<td class="nump">1,043,863<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_Depreciation', window );">Depreciation</a></td>
<td class="nump">30,732<span></span>
</td>
<td class="nump">33,363<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_SegmentOperatingprofit', window );">Segment operating profit</a></td>
<td class="nump">189,315<span></span>
</td>
<td class="nump">232,279<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_SellingAndAdministrativeExpensesUnallocatedCorporate', window );">Selling and Administrative Expenses</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_InterestAndOtherIncome', window );">Interest income</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable - Less allowance of $160,000</a></td>
<td class="nump">315,509<span></span>
</td>
<td class="nump">486,705<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_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">1,432,921<span></span>
</td>
<td class="nump">1,313,786<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_PropertyPlantAndEquipmentNet', window );">Net property, plant and equipment</a></td>
<td class="nump">1,272,765<span></span>
</td>
<td class="nump">1,400,542<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_OtherAssets', window );">Other Assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_UnallocatedCorporateMember', window );">Unallocated Corporate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net sales</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">2,664<span></span>
</td>
<td class="nump">5,220<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_SegmentOperatingprofit', window );">Segment operating profit</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_SellingAndAdministrativeExpensesUnallocatedCorporate', window );">Selling and Administrative Expenses</a></td>
<td class="num">(538,537)<span></span>
</td>
<td class="num">(499,328)<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 );">Interest income</a></td>
<td class="nump">40,586<span></span>
</td>
<td class="nump">1,755<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_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="nump">77,353<span></span>
</td>
<td class="nump">7,730<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable - Less allowance of $160,000</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_PropertyPlantAndEquipmentNet', window );">Net property, plant and equipment</a></td>
<td class="nump">1,070,656<span></span>
</td>
<td class="nump">1,260,145<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_OtherAssets', window );">Other Assets</a></td>
<td class="nump">$ 5,551,041<span></span>
</td>
<td class="nump">$ 4,440,615<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_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 adminstrative 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> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>30
<FILENAME>d483910d10q_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/2023"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:fil="http://www.chicagorivet.com/20230331"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2023"
  xmlns:us-gaap="http://fasb.org/us-gaap/2023"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="cvr-20230331.xsd" xlink:type="simple"/>
    <context id="Y23Q1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="E23Q1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="I230505">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <instant>2023-05-05</instant>
        </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="Y22Q1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Y23Q1_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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </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-TreasuryStockCommon">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="E23Q1_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>2023-03-31</instant>
        </period>
    </context>
    <context id="E23Q1_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>2023-03-31</instant>
        </period>
    </context>
    <context id="E23Q1_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>2023-03-31</instant>
        </period>
    </context>
    <context id="E23Q1_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>2023-03-31</instant>
        </period>
    </context>
    <context id="E23Q1_StEqComps-TreasuryStockCommon">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</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="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-TreasuryStockCommon">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Y22Q1_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-03-31</endDate>
        </period>
    </context>
    <context id="E22Q1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="E22Q1_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-03-31</instant>
        </period>
    </context>
    <context id="E22Q1_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-03-31</instant>
        </period>
    </context>
    <context id="E22Q1_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-03-31</instant>
        </period>
    </context>
    <context id="E22Q1_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-03-31</instant>
        </period>
    </context>
    <context id="E22Q1_StEqComps-TreasuryStockCommon">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="Y23Q1_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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Y23Q1_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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Y23Q1_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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Y23Q1_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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Y23Q1_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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Y23Q1_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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Y23Q1_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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Y23Q1_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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Y23Q1_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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Y22Q1_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-03-31</endDate>
        </period>
    </context>
    <context id="Y22Q1_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-03-31</endDate>
        </period>
    </context>
    <context id="Y22Q1_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-03-31</endDate>
        </period>
    </context>
    <context id="Y22Q1_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-03-31</endDate>
        </period>
    </context>
    <context id="Y22Q1_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-03-31</endDate>
        </period>
    </context>
    <context id="Y22Q1_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-03-31</endDate>
        </period>
    </context>
    <context id="Y22Q1_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-03-31</endDate>
        </period>
    </context>
    <context id="Y22Q1_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-03-31</endDate>
        </period>
    </context>
    <context id="Y23Q1_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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Y23Q1_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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Y23Q1_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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Y23Q1_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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Y23Q1_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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Y23Q1_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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Y23Q1_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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Y22Q1_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-03-31</endDate>
        </period>
    </context>
    <context id="Y22Q1_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-03-31</endDate>
        </period>
    </context>
    <context id="Y22Q1_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-03-31</endDate>
        </period>
    </context>
    <context id="Y22Q1_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-03-31</endDate>
        </period>
    </context>
    <context id="Y22Q1_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-03-31</endDate>
        </period>
    </context>
    <context id="Y22Q1_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-03-31</endDate>
        </period>
    </context>
    <context id="Y23Q1_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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="E23Q1_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>2023-03-31</instant>
        </period>
    </context>
    <context id="E23Q1_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>2023-03-31</instant>
        </period>
    </context>
    <context id="E23Q1_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>2023-03-31</instant>
        </period>
    </context>
    <context id="Y22Q1_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-03-31</endDate>
        </period>
    </context>
    <context id="E22Q1_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-03-31</instant>
        </period>
    </context>
    <context id="E22Q1_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-03-31</instant>
        </period>
    </context>
    <context id="E22Q1_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-03-31</instant>
        </period>
    </context>
    <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="Y23Q1" id="fact1">0000019871</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate contextRef="Y23Q1" id="fact2">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:EntityRegistrantName contextRef="Y23Q1" id="fact3">CHICAGO RIVET &amp; MACHINE CO</dei:EntityRegistrantName>
    <dei:SecurityExchangeName contextRef="Y23Q1" id="fact4">NYSEAMER</dei:SecurityExchangeName>
    <dei:AmendmentFlag contextRef="Y23Q1" id="fact5">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus contextRef="Y23Q1" id="fact6">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus contextRef="Y23Q1" id="fact7">Q1</dei:DocumentFiscalPeriodFocus>
    <dei:DocumentTransitionReport contextRef="Y23Q1" id="fact8">false</dei:DocumentTransitionReport>
    <dei:DocumentType contextRef="Y23Q1">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport contextRef="Y23Q1">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate contextRef="Y23Q1">2023-03-31</dei:DocumentPeriodEndDate>
    <dei:EntityFileNumber contextRef="Y23Q1">000-01227</dei:EntityFileNumber>
    <dei:EntityIncorporationStateCountryCode contextRef="Y23Q1">IL</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="Y23Q1">36-0904920</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="Y23Q1">901 Frontenac Road</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="Y23Q1">Naperville</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="Y23Q1">IL</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="Y23Q1">60563</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="Y23Q1">630</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="Y23Q1">357-8500</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="Y23Q1">Common Stock, par value $1.00 per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="Y23Q1">CVR</dei:TradingSymbol>
    <dei:EntityCurrentReportingStatus contextRef="Y23Q1">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="Y23Q1">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="Y23Q1">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="Y23Q1">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="Y23Q1">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityEmergingGrowthCompany contextRef="Y23Q1">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany contextRef="Y23Q1">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding contextRef="I230505" decimals="INF" unitRef="Shares">966132</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E23Q1" decimals="INF" unitRef="USD">2265723</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E22" decimals="INF" unitRef="USD">4045101</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CertificatesOfDepositAtCarryingValue contextRef="E23Q1" decimals="INF" unitRef="USD">2193000</us-gaap:CertificatesOfDepositAtCarryingValue>
    <us-gaap:CertificatesOfDepositAtCarryingValue contextRef="E22" decimals="INF" unitRef="USD">2691000</us-gaap:CertificatesOfDepositAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="E23Q1" decimals="INF" unitRef="USD">160000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="E22" decimals="INF" unitRef="USD">160000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="E23Q1" decimals="INF" unitRef="USD">6173074</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="E22" decimals="INF" unitRef="USD">4975137</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet contextRef="E23Q1" decimals="INF" unitRef="USD">9998952</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="E22" decimals="INF" unitRef="USD">9121230</us-gaap:InventoryNet>
    <us-gaap:PrepaidTaxes contextRef="E23Q1" decimals="INF" unitRef="USD">672119</us-gaap:PrepaidTaxes>
    <us-gaap:PrepaidTaxes contextRef="E22" decimals="INF" unitRef="USD">509119</us-gaap:PrepaidTaxes>
    <us-gaap:OtherAssetsCurrent contextRef="E23Q1" decimals="INF" unitRef="USD">420199</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent contextRef="E22" decimals="INF" unitRef="USD">422747</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="E23Q1" decimals="INF" unitRef="USD">21723067</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="E22" decimals="INF" unitRef="USD">21764334</us-gaap:AssetsCurrent>
    <us-gaap:LandAndLandImprovements contextRef="E23Q1" decimals="INF" unitRef="USD">1510513</us-gaap:LandAndLandImprovements>
    <us-gaap:LandAndLandImprovements contextRef="E22" decimals="INF" unitRef="USD">1510513</us-gaap:LandAndLandImprovements>
    <us-gaap:BuildingsAndImprovementsGross contextRef="E23Q1" decimals="INF" unitRef="USD">6758266</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross contextRef="E22" decimals="INF" unitRef="USD">6758266</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="E23Q1" decimals="INF" unitRef="USD">37494180</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="E22" decimals="INF" unitRef="USD">37080762</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="E23Q1" decimals="INF" unitRef="USD">45762959</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="E22" decimals="INF" unitRef="USD">45349541</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="E23Q1" decimals="INF" unitRef="USD">33793779</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="E22" decimals="INF" unitRef="USD">33487748</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E23Q1" decimals="INF" unitRef="USD">11969180</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E22" decimals="INF" unitRef="USD">11861793</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Assets contextRef="E23Q1" decimals="INF" unitRef="USD">33692247</us-gaap:Assets>
    <us-gaap:Assets contextRef="E22" decimals="INF" unitRef="USD">33626127</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent contextRef="E23Q1" decimals="INF" unitRef="USD">1621403</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="E22" decimals="INF" unitRef="USD">697235</us-gaap:AccountsPayableCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="E23Q1" decimals="INF" unitRef="USD">675078</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="E22" decimals="INF" unitRef="USD">462332</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E23Q1" decimals="INF" unitRef="USD">115734</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E22" decimals="INF" unitRef="USD">327961</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:CustomerAdvancesAndDepositsCurrent contextRef="E23Q1" decimals="INF" unitRef="USD">183836</us-gaap:CustomerAdvancesAndDepositsCurrent>
    <us-gaap:CustomerAdvancesAndDepositsCurrent contextRef="E22" decimals="INF" unitRef="USD">203717</us-gaap:CustomerAdvancesAndDepositsCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="E23Q1" decimals="INF" unitRef="USD">2596051</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="E22" decimals="INF" unitRef="USD">1691245</us-gaap:LiabilitiesCurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="E23Q1" decimals="INF" unitRef="USD">905084</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="E22" decimals="INF" unitRef="USD">948084</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:Liabilities contextRef="E23Q1" decimals="INF" unitRef="USD">3501135</us-gaap:Liabilities>
    <us-gaap:Liabilities contextRef="E22" decimals="INF" unitRef="USD">2639329</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare contextRef="E23Q1" decimals="INF" unitRef="UsdPerShare">0</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare contextRef="E22" decimals="INF" unitRef="UsdPerShare">0</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized contextRef="E23Q1" decimals="INF" unitRef="Shares">500000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized contextRef="E22" decimals="INF" unitRef="Shares">500000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding contextRef="E23Q1" decimals="INF" unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding contextRef="E22" decimals="INF" unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValue contextRef="E23Q1" decimals="128" unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue contextRef="E22" decimals="128" unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare contextRef="E23Q1" decimals="INF" unitRef="UsdPerShare">1.00</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare contextRef="E22" decimals="INF" unitRef="UsdPerShare">1.00</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized contextRef="E23Q1" decimals="INF" unitRef="Shares">4000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized contextRef="E22" decimals="INF" unitRef="Shares">4000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued contextRef="E23Q1" decimals="INF" unitRef="Shares">1138096</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued contextRef="E22" decimals="INF" unitRef="Shares">1138096</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="E23Q1" decimals="INF" unitRef="Shares">966132</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding contextRef="E22" decimals="INF" unitRef="Shares">966132</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValueOutstanding contextRef="E23Q1" decimals="INF" unitRef="USD">1138096</us-gaap:CommonStockValueOutstanding>
    <us-gaap:CommonStockValueOutstanding contextRef="E22" decimals="INF" unitRef="USD">1138096</us-gaap:CommonStockValueOutstanding>
    <us-gaap:AdditionalPaidInCapital contextRef="E23Q1" decimals="INF" unitRef="USD">447134</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital contextRef="E22" decimals="INF" unitRef="USD">447134</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="E23Q1" decimals="INF" unitRef="USD">32527980</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="E22" decimals="INF" unitRef="USD">33323666</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:TreasuryStockValue contextRef="E23Q1" decimals="INF" unitRef="USD">3922098</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue contextRef="E22" decimals="INF" unitRef="USD">3922098</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity contextRef="E23Q1" decimals="INF" unitRef="USD">30191112</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="E22" decimals="INF" unitRef="USD">30986798</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="E23Q1" decimals="INF" unitRef="USD">33692247</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="E22" decimals="INF" unitRef="USD">33626127</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:Revenues contextRef="Y23Q1" decimals="INF" unitRef="USD">8729725</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="Y22Q1" decimals="INF" unitRef="USD">9197696</us-gaap:Revenues>
    <us-gaap:CostOfRevenue contextRef="Y23Q1" decimals="INF" unitRef="USD">8252222</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="Y22Q1" decimals="INF" unitRef="USD">7341474</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit contextRef="Y23Q1" decimals="INF" unitRef="USD">477503</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="Y22Q1" decimals="INF" unitRef="USD">1856222</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="Y23Q1" decimals="INF" unitRef="USD">1257695</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="Y22Q1" decimals="INF" unitRef="USD">1295664</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss contextRef="Y23Q1" decimals="INF" unitRef="USD">-780192</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="Y22Q1" decimals="INF" unitRef="USD">560558</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="Y23Q1" decimals="INF" unitRef="USD">43055</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="Y22Q1" decimals="INF" unitRef="USD">9755</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="Y23Q1" decimals="INF" unitRef="USD">-737137</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="Y22Q1" decimals="INF" unitRef="USD">570313</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y23Q1" decimals="INF" unitRef="USD">-154000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y22Q1" decimals="INF" unitRef="USD">123000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss contextRef="Y23Q1" decimals="INF" unitRef="USD">-583137</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="Y22Q1" decimals="INF" unitRef="USD">447313</us-gaap:NetIncomeLoss>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare contextRef="Y23Q1" decimals="INF" unitRef="UsdPerShare">-0.60</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare contextRef="Y22Q1" decimals="INF" unitRef="UsdPerShare">0.46</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare contextRef="Y23Q1" decimals="INF" unitRef="UsdPerShare">-0.60</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare contextRef="Y22Q1" decimals="INF" unitRef="UsdPerShare">0.46</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="Y23Q1" decimals="INF" unitRef="Shares">966132</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="Y22Q1" decimals="INF" unitRef="Shares">966132</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="Y23Q1" decimals="INF" unitRef="Shares">966132</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="Y22Q1" decimals="INF" unitRef="Shares">966132</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:CommonStockDividendsPerShareDeclared contextRef="Y23Q1" decimals="INF" unitRef="UsdPerShare">0.22</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared contextRef="Y22Q1" decimals="INF" unitRef="UsdPerShare">0.22</us-gaap:CommonStockDividendsPerShareDeclared>
    <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:TreasuryStockCommonShares
      contextRef="E22_StEqComps-TreasuryStockCommon"
      decimals="INF"
      unitRef="Shares">171964</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity
      contextRef="E22_StEqComps-TreasuryStockCommon"
      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="Y23Q1_StEqComps-RetainedEarnings"
      decimals="INF"
      unitRef="USD">-583137</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="Y23Q1" decimals="INF" unitRef="USD">-583137</us-gaap:NetIncomeLoss>
    <us-gaap:CommonStockDividendsPerShareDeclared contextRef="Y23Q1" decimals="INF" unitRef="UsdPerShare">0.22</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:Dividends
      contextRef="Y23Q1_StEqComps-RetainedEarnings"
      decimals="INF"
      unitRef="USD">212549</us-gaap:Dividends>
    <us-gaap:Dividends contextRef="Y23Q1" decimals="INF" unitRef="USD">212549</us-gaap:Dividends>
    <us-gaap:StockholdersEquity
      contextRef="E23Q1_StEqComps-PrefStock"
      decimals="INF"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="E23Q1_StEqComps-CommonStock"
      decimals="INF"
      unitRef="Shares">966132</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="E23Q1_StEqComps-CommonStock"
      decimals="INF"
      unitRef="USD">1138096</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="E23Q1_StEqComps-AddPaidInCap"
      decimals="INF"
      unitRef="USD">447134</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="E23Q1_StEqComps-RetainedEarnings"
      decimals="INF"
      unitRef="USD">32527980</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="E23Q1_StEqComps-TreasuryStockCommon"
      decimals="INF"
      unitRef="Shares">171964</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity
      contextRef="E23Q1_StEqComps-TreasuryStockCommon"
      decimals="INF"
      unitRef="USD">-3922098</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="E23Q1" decimals="INF" unitRef="USD">30191112</us-gaap:StockholdersEquity>
    <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:TreasuryStockCommonShares
      contextRef="E21_StEqComps-TreasuryStockCommon"
      decimals="INF"
      unitRef="Shares">171964</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity
      contextRef="E21_StEqComps-TreasuryStockCommon"
      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="Y22Q1_StEqComps-RetainedEarnings"
      decimals="INF"
      unitRef="USD">447313</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="Y22Q1" decimals="INF" unitRef="USD">447313</us-gaap:NetIncomeLoss>
    <us-gaap:CommonStockDividendsPerShareDeclared contextRef="Y22Q1" decimals="INF" unitRef="UsdPerShare">0.22</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:Dividends
      contextRef="Y22Q1_StEqComps-RetainedEarnings"
      decimals="INF"
      unitRef="USD">212549</us-gaap:Dividends>
    <us-gaap:Dividends contextRef="Y22Q1" decimals="INF" unitRef="USD">212549</us-gaap:Dividends>
    <us-gaap:StockholdersEquity
      contextRef="E22Q1_StEqComps-PrefStock"
      decimals="INF"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="E22Q1_StEqComps-CommonStock"
      decimals="INF"
      unitRef="Shares">966132</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="E22Q1_StEqComps-CommonStock"
      decimals="INF"
      unitRef="USD">1138096</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="E22Q1_StEqComps-AddPaidInCap"
      decimals="INF"
      unitRef="USD">447134</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="E22Q1_StEqComps-RetainedEarnings"
      decimals="INF"
      unitRef="USD">31540997</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="E22Q1_StEqComps-TreasuryStockCommon"
      decimals="INF"
      unitRef="Shares">171964</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity
      contextRef="E22Q1_StEqComps-TreasuryStockCommon"
      decimals="INF"
      unitRef="USD">-3922098</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="E22Q1" decimals="INF" unitRef="USD">29204129</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="Y23Q1" decimals="INF" unitRef="USD">-583137</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="Y22Q1" decimals="INF" unitRef="USD">447313</us-gaap:NetIncomeLoss>
    <us-gaap:Depreciation contextRef="Y23Q1" decimals="INF" unitRef="USD">306032</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="Y22Q1" decimals="INF" unitRef="USD">320424</us-gaap:Depreciation>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="Y23Q1" decimals="INF" unitRef="USD">-43000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="Y22Q1" decimals="INF" unitRef="USD">-24000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="Y23Q1" decimals="INF" unitRef="USD">-1197937</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="Y22Q1" decimals="INF" unitRef="USD">-990427</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories contextRef="Y23Q1" decimals="INF" unitRef="USD">-877722</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories contextRef="Y22Q1" decimals="INF" unitRef="USD">-1093460</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets contextRef="Y23Q1" decimals="INF" unitRef="USD">-160452</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets contextRef="Y22Q1" decimals="INF" unitRef="USD">-37522</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="Y23Q1" decimals="INF" unitRef="USD">924168</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="Y22Q1" decimals="INF" unitRef="USD">754192</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities contextRef="Y23Q1" decimals="INF" unitRef="USD">212746</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities contextRef="Y22Q1" decimals="INF" unitRef="USD">197065</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities contextRef="Y23Q1" decimals="INF" unitRef="USD">-212227</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities contextRef="Y22Q1" decimals="INF" unitRef="USD">53411</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInCustomerAdvancesAndDeposits contextRef="Y23Q1" decimals="INF" unitRef="USD">-19881</us-gaap:IncreaseDecreaseInCustomerAdvancesAndDeposits>
    <us-gaap:IncreaseDecreaseInCustomerAdvancesAndDeposits contextRef="Y22Q1" decimals="INF" unitRef="USD">-15390</us-gaap:IncreaseDecreaseInCustomerAdvancesAndDeposits>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="Y23Q1" decimals="INF" unitRef="USD">-1651410</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="Y22Q1" decimals="INF" unitRef="USD">-388394</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireProductiveAssets contextRef="Y23Q1" decimals="INF" unitRef="USD">413419</us-gaap:PaymentsToAcquireProductiveAssets>
    <us-gaap:PaymentsToAcquireProductiveAssets contextRef="Y22Q1" decimals="INF" unitRef="USD">120594</us-gaap:PaymentsToAcquireProductiveAssets>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities contextRef="Y23Q1" decimals="INF" unitRef="USD">498000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities contextRef="Y22Q1" decimals="INF" unitRef="USD">0</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="Y23Q1" decimals="INF" unitRef="USD">84581</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="Y22Q1" decimals="INF" unitRef="USD">-120594</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsOfDividendsCommonStock contextRef="Y23Q1" decimals="INF" unitRef="USD">212549</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock contextRef="Y22Q1" decimals="INF" unitRef="USD">212549</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="Y23Q1" decimals="INF" unitRef="USD">-212549</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="Y22Q1" decimals="INF" unitRef="USD">-212549</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect contextRef="Y23Q1" decimals="INF" unitRef="USD">-1779378</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect contextRef="Y22Q1" decimals="INF" unitRef="USD">-721537</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <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:CashAndCashEquivalentsAtCarryingValue contextRef="E23Q1" decimals="INF" unitRef="USD">2265723</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E22Q1" decimals="INF" unitRef="USD">1315417</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="Y23Q1">&lt;p style="font:10pt Arial;margin:0"&gt;1. &#160;In the opinion of the Company, the accompanying unaudited interim financial statements contain all adjustments necessary to present fairly the financial position of the Company as of March 31, 2023 (unaudited) and December 31, 2022 (audited) and the results of operations and changes in cash flows for the indicated periods. &#160;Certain information and note disclosures normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America have been omitted from these unaudited financial statements in accordance with applicable rules. Please refer to the financial statements and notes thereto included in the Company&#x2019;s Annual Report on Form 10-K for the year ended 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;The preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. &#160;Actual results could differ from those estimates. &#160;The results of operations for the three month period ended March 31, 2023 are not necessarily indicative of the results to be expected for the year.&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;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, using the modified retrospective approach. The adoption did not result in the recognition of a cumulative adjustment to beginning retained earnings, nor did it have a material impact on the condensed consolidated financial statements.&lt;/p&gt; </us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock contextRef="Y23Q1">&lt;p style="font:10pt Arial;margin:0"&gt;1. &#160;In the opinion of the Company, the accompanying unaudited interim financial statements contain all adjustments necessary to present fairly the financial position of the Company as of March 31, 2023 (unaudited) and December 31, 2022 (audited) and the results of operations and changes in cash flows for the indicated periods. &#160;Certain information and note disclosures normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America have been omitted from these unaudited financial statements in accordance with applicable rules. Please refer to the financial statements and notes thereto included in the Company&#x2019;s Annual Report on Form 10-K for the year ended 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;The preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. &#160;Actual results could differ from those estimates. &#160;The results of operations for the three month period ended March 31, 2023 are not necessarily indicative of the results to be expected for the year.&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;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, using the modified retrospective approach. The adoption did not result in the recognition of a cumulative adjustment to beginning retained earnings, nor did it have a material impact on the condensed consolidated financial statements.&lt;/p&gt; </us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:ConcentrationRiskDisclosureTextBlock contextRef="Y23Q1">&lt;p style="font:10pt Arial;margin:0"&gt;2. &#160;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 in part 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;The Company also considers current economic conditions, the economic outlook and industry-specific factors in its evaluation. &#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:ConcentrationRiskDisclosureTextBlock>
    <us-gaap:ConcentrationRiskCreditRisk contextRef="Y23Q1">&lt;p style="font:10pt Arial;margin:0"&gt;2. &#160;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 in part 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;The Company also considers current economic conditions, the economic outlook and industry-specific factors in its evaluation. &#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:LegalMattersAndContingenciesTextBlock contextRef="Y23Q1">&lt;p style="font:10pt Arial;margin:0"&gt;3. &#160;The Company is, from time to time, involved in litigation, including environmental claims and contract disputes, 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; </us-gaap:LegalMattersAndContingenciesTextBlock>
    <us-gaap:CommitmentsAndContingenciesPolicyTextBlock contextRef="Y23Q1">&lt;p style="font:10pt Arial;margin:0"&gt;3. &#160;The Company is, from time to time, involved in litigation, including environmental claims and contract disputes, 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; </us-gaap:CommitmentsAndContingenciesPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="Y23Q1">&lt;p style="font:10pt Arial;margin:0"&gt;4. &#160;Revenue&#x2014;The Company operates in the fastener industry and is in the business of manufacturing and selling rivets, cold-formed fasteners and parts, screw machine products, automatic rivet setting machines and parts and tools for such machines. &#160;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;For certain assembly equipment segment transactions, revenue is recognized based on progress toward completion of the performance obligation using a labor-based measure. &#160;Labor incurred and specific material costs are compared to milestone payments per sales contract. &#160;Based on our experience, this method most accurately reflects the transfer of goods under such contracts. &#160;During the first quarter of 2023, the Company did not realize any revenue related to such contracts. &#160;As of March 31, 2023, there are no such contracts outstanding.&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;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. &#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 March 31, 2023 and December 31, 2022 reserves for warranty claims were not material. &#160;Cash received by the Company prior to shipment is recorded as unearned revenue.&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;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;Sales commissions are expensed when incurred because the amortization period is less than one year. &#160;These costs are recorded within selling and administrative expenses in the statement of income.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;color:#000000"&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;&#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 following table presents revenue by segment, further disaggregated by end-market:&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:162pt;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:72pt;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:72pt;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:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:11pt Arial Narrow;margin:0;color:#339966"&gt;&lt;span style="font:9pt Arial;color:#000000"&gt;Three Months Ended March 31, 2023:&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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:72pt;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:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;Automotive&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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;5,006,190&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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;&#160;44,878&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;5,051,068&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;Non-automotive&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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;2,850,623&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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;828,034&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,678,657&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;Total net sales&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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;7,856,813&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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;&#160;&#160;872,912&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;8,729,725&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162pt;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="width:72pt;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:72pt;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:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;Three Months Ended March 31, 2022:&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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:72pt;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:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;Automotive&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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;4,904,183&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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;&#160;41,463&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;4,945,646&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;Non-automotive&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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,249,650&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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;1,002,400&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;4,252,050&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;Total net sales&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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;8,153,833&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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;1,043,863&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;9,197,696&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:162pt;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:72pt;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="background-color:#CEE7FF;width:72pt;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="background-color:#CEE7FF;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;/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 table presents revenue by segment, further disaggregated by location:&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:157.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:72pt;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:72pt;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:157.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;Three Months Ended March 31, 2023:&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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:72pt;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:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;United States&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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;6,391,747&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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;786,571&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;7,178,318&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;Foreign&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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;1,465,066&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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;86,341&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;1,551,407&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;Total net sales&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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;7,856,813&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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;&#160;872,912&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;8,729,725&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:157.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="width:72pt;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:72pt;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:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;Three Months Ended March 31, 2022:&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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:72pt;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:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;United States&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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;6,760,129&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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;1,004,151&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;7,764,280&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;Foreign&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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;1,393,704&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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;39,712&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;1,433,416&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;Total net sales&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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;8,153,833&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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;1,043,863&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;9,197,696&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:157.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:72pt;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="background-color:#CEE7FF;width:72pt;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="background-color:#CEE7FF;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;/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; </us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock contextRef="Y23Q1">&lt;p style="font:10pt Arial;margin:0"&gt;4. &#160;Revenue&#x2014;The Company operates in the fastener industry and is in the business of manufacturing and selling rivets, cold-formed fasteners and parts, screw machine products, automatic rivet setting machines and parts and tools for such machines. &#160;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;For certain assembly equipment segment transactions, revenue is recognized based on progress toward completion of the performance obligation using a labor-based measure. &#160;Labor incurred and specific material costs are compared to milestone payments per sales contract. &#160;Based on our experience, this method most accurately reflects the transfer of goods under such contracts. &#160;During the first quarter of 2023, the Company did not realize any revenue related to such contracts. &#160;As of March 31, 2023, there are no such contracts outstanding.&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;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. &#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 March 31, 2023 and December 31, 2022 reserves for warranty claims were not material. &#160;Cash received by the Company prior to shipment is recorded as unearned revenue.&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;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;Sales commissions are expensed when incurred because the amortization period is less than one year. &#160;These costs are recorded within selling and administrative expenses in the statement of income.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;color:#000000"&gt;&#160;&lt;/p&gt; </us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock contextRef="Y23Q1_ProductOrService-EndMarket">&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:162pt;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:72pt;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:72pt;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:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:11pt Arial Narrow;margin:0;color:#339966"&gt;&lt;span style="font:9pt Arial;color:#000000"&gt;Three Months Ended March 31, 2023:&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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:72pt;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:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;Automotive&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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;5,006,190&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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;&#160;44,878&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;5,051,068&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;Non-automotive&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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;2,850,623&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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;828,034&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,678,657&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;Total net sales&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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;7,856,813&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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;&#160;&#160;872,912&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;8,729,725&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162pt;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="width:72pt;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:72pt;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:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;Three Months Ended March 31, 2022:&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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:72pt;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:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;Automotive&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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;4,904,183&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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;&#160;41,463&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;4,945,646&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;Non-automotive&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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,249,650&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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;1,002,400&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;4,252,050&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;Total net sales&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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;8,153,833&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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;1,043,863&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;9,197,696&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:162pt;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:72pt;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="background-color:#CEE7FF;width:72pt;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="background-color:#CEE7FF;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;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23Q1_ProductOrService-Automotive_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">5006190</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23Q1_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">44878</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23Q1_ProductOrService-Automotive"
      decimals="INF"
      unitRef="USD">5051068</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23Q1_ProductOrService-Nonautomotive_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">2850623</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23Q1_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">828034</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23Q1_ProductOrService-Nonautomotive"
      decimals="INF"
      unitRef="USD">3678657</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23Q1_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">7856813</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23Q1_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">872912</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y23Q1" decimals="INF" unitRef="USD">8729725</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22Q1_ProductOrService-Automotive_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">4904183</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22Q1_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">41463</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22Q1_ProductOrService-Automotive"
      decimals="INF"
      unitRef="USD">4945646</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22Q1_ProductOrService-Nonautomotive_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">3249650</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22Q1_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">1002400</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22Q1_ProductOrService-Nonautomotive"
      decimals="INF"
      unitRef="USD">4252050</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22Q1_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">8153833</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22Q1_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">1043863</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y22Q1" decimals="INF" unitRef="USD">9197696</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:DisaggregationOfRevenueTableTextBlock contextRef="Y23Q1_StGeo-Location">&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:157.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:72pt;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:72pt;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:157.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;Three Months Ended March 31, 2023:&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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:72pt;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:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;United States&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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;6,391,747&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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;786,571&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;7,178,318&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;Foreign&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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;1,465,066&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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;86,341&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;1,551,407&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;Total net sales&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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;7,856,813&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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;&#160;872,912&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;8,729,725&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:157.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="width:72pt;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:72pt;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:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;Three Months Ended March 31, 2022:&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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:72pt;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:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;United States&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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;6,760,129&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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;1,004,151&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;7,764,280&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;Foreign&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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;1,393,704&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;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;39,712&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;1,433,416&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:157.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;Total net sales&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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;8,153,833&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;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;1,043,863&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;9,197,696&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:157.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:72pt;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="background-color:#CEE7FF;width:72pt;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="background-color:#CEE7FF;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;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23Q1_StGeo-US_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">6391747</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23Q1_StGeo-US_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">786571</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y23Q1_StGeo-US" decimals="INF" unitRef="USD">7178318</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23Q1_StGeo-NonUs_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">1465066</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23Q1_StGeo-NonUs_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">86341</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y23Q1_StGeo-NonUs" decimals="INF" unitRef="USD">1551407</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23Q1_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">7856813</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23Q1_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">872912</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y23Q1" decimals="INF" unitRef="USD">8729725</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22Q1_StGeo-US_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">6760129</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22Q1_StGeo-US_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">1004151</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y22Q1_StGeo-US" decimals="INF" unitRef="USD">7764280</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22Q1_StGeo-NonUs_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">1393704</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22Q1_StGeo-NonUs_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">39712</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y22Q1_StGeo-NonUs" decimals="INF" unitRef="USD">1433416</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22Q1_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">8153833</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22Q1_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">1043863</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y22Q1" decimals="INF" unitRef="USD">9197696</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="Y23Q1">&lt;p style="font:10pt Arial;margin:0"&gt;5. &#160;The Company&#x2019;s effective tax rates were approximately (20.9)% and 21.6% for the first quarter of 2023 and 2022, 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 federal income tax returns for the 2019 through 2022 tax years are subject to examination by the Internal Revenue Service (&#x201c;IRS&#x201d;). &#160;&#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. &#160;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 through 2022 federal income tax returns will expire on September 15, 2023 through 2026, 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 2022 tax years remain subject to examination by various state authorities with the latest closing period on October 31, 2026. &#160;The Company is not currently 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:IncomeTaxDisclosureTextBlock>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="Y23Q1">&lt;p style="font:10pt Arial;margin:0"&gt;5. &#160;The Company&#x2019;s effective tax rates were approximately (20.9)% and 21.6% for the first quarter of 2023 and 2022, 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 federal income tax returns for the 2019 through 2022 tax years are subject to examination by the Internal Revenue Service (&#x201c;IRS&#x201d;). &#160;&#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. &#160;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 through 2022 federal income tax returns will expire on September 15, 2023 through 2026, 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 2022 tax years remain subject to examination by various state authorities with the latest closing period on October 31, 2026. &#160;The Company is not currently 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:InventoryDisclosureTextBlock contextRef="Y23Q1">&lt;p style="font:10pt Arial;margin:0"&gt;6. &#160;Inventories are stated at the lower of cost or net realizable value, cost being determined by the first-in, first-out method.&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0;color:#000000"&gt;&lt;span style="font-family:Arial"&gt; &#160;A summary of inventories is as follows:&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&gt;
&lt;td style="background-color:#CEE7FF;width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:87.85pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;March 31, 2023&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:87.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;December 31, 2022&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0"&gt;Raw material&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:87.85pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;4,609,907&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:87.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;4,460,071&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0"&gt;Work-in-process&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:87.85pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;3,147,846&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:87.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;2,747,427&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0"&gt;Finished goods&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:87.85pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;2,862,199&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:87.55pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;2,534,732&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0"&gt;Inventories, gross&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:87.85pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;10,619,952&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:87.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;9,742,230&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0"&gt;Valuation reserves&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:87.85pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;(621,000)&#160;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:87.55pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;(621,000)&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0"&gt;Inventories, net&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:87.85pt;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;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;9,998,952&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:87.55pt;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;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;9,121,230&#160;&#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:InventoryDisclosureTextBlock>
    <us-gaap:InventoryPolicyTextBlock contextRef="Y23Q1">&lt;p style="font:10pt Arial;margin:0"&gt;6. &#160;Inventories are stated at the lower of cost or net realizable value, cost being determined by the first-in, first-out method.&lt;/p&gt; </us-gaap:InventoryPolicyTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="Y23Q1">&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:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:87.85pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;March 31, 2023&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:87.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;December 31, 2022&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0"&gt;Raw material&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:87.85pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;4,609,907&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:87.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;4,460,071&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0"&gt;Work-in-process&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:87.85pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;3,147,846&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:87.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;2,747,427&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0"&gt;Finished goods&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:87.85pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;2,862,199&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:87.55pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;2,534,732&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0"&gt;Inventories, gross&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:87.85pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;10,619,952&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:87.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;9,742,230&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0"&gt;Valuation reserves&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:87.85pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;(621,000)&#160;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:87.55pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;(621,000)&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:93.6pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0"&gt;Inventories, net&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:87.85pt;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;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;9,998,952&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:87.55pt;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;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;9,121,230&#160;&#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:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterials contextRef="E23Q1" decimals="INF" unitRef="USD">4609907</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials contextRef="E22" decimals="INF" unitRef="USD">4460071</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryWorkInProcess contextRef="E23Q1" decimals="INF" unitRef="USD">3147846</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess contextRef="E22" decimals="INF" unitRef="USD">2747427</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryFinishedGoods contextRef="E23Q1" decimals="INF" unitRef="USD">2862199</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods contextRef="E22" decimals="INF" unitRef="USD">2534732</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryGross contextRef="E23Q1" decimals="INF" unitRef="USD">10619952</us-gaap:InventoryGross>
    <us-gaap:InventoryGross contextRef="E22" decimals="INF" unitRef="USD">9742230</us-gaap:InventoryGross>
    <us-gaap:InventoryValuationReserves contextRef="E23Q1" decimals="INF" unitRef="USD">621000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves contextRef="E22" decimals="INF" unitRef="USD">621000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet contextRef="E23Q1" decimals="INF" unitRef="USD">9998952</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="E22" decimals="INF" unitRef="USD">9121230</us-gaap:InventoryNet>
    <us-gaap:SegmentReportingDisclosureTextBlock contextRef="Y23Q1">&lt;p style="font:10pt Arial;margin:0"&gt;7. &#160;Segment Information&#x2014;The Company operates in two business segments as determined by its products. &#160;The fastener segment 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.&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;Information by segment is as follows:&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:190.95pt" 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:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Three Months Ended March 31, 2023:&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:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Net sales&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;7,856,813&#160;&#160;&#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;&#160;&#160;&#160;&#160;872,912&#160;&#160;&#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;0&#160;&#160;&#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;&#160;&#160;&#160;&#160;8,729,725&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:190.95pt" 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:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Depreciation&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;272,636&#160;&#160;&#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;30,732&#160;&#160;&#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;2,664&#160;&#160;&#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;306,032&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:190.95pt" 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:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment operating profit (loss)&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;(428,501)&#160;&#160;&#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;189,315&#160;&#160;&#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;0&#160;&#160;&#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;(239,186)&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Selling and administrative expenses&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&#160;&#160;&#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;0&#160;&#160;&#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;(538,537)&#160;&#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;(538,537)&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Interest income&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&#160;&#160;&#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;0&#160;&#160;&#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;40,586&#160;&#160;&#160;&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;40,586&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Loss before income taxes&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;$ &#160;&#160;&#160;&#160;(737,137)&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:190.95pt" 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:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Capital expenditures&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;336,066&#160;&#160;&#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;0&#160;&#160;&#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;77,353&#160;&#160;&#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;413,419&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:190.95pt" 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:190.95pt" 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:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Accounts receivable, net&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,857,565&#160;&#160;&#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;315,509&#160;&#160;&#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;0&#160;&#160;&#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;6,173,074&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Inventories, net&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;8,566,031&#160;&#160;&#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;1,432,921&#160;&#160;&#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;0&#160;&#160;&#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;9,998,952&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Property, plant and equipment, net&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,625,759&#160;&#160;&#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;1,272,765&#160;&#160;&#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;1,070,656&#160;&#160;&#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;11,969,180&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Other 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;0&#160;&#160;&#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;0&#160;&#160;&#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;5,551,041&#160;&#160;&#160;&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;5,551,041&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:190.95pt" 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;$ &#160;&#160;&#160;33,692,247&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:190.95pt" 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:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Three Months Ended March 31, 2022:&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:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Net sales&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;8,153,833&#160;&#160;&#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;&#160;&#160;&#160;&#160;1,043,863&#160;&#160;&#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;0&#160;&#160;&#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;&#160;&#160;&#160;&#160;9,197,696&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:190.95pt" 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:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Depreciation&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;281,841&#160;&#160;&#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;33,363&#160;&#160;&#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;5,220&#160;&#160;&#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;320,424&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:190.95pt" 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:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment operating profit&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;835,507&#160;&#160;&#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;232,279&#160;&#160;&#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;0&#160;&#160;&#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;1,067,786&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Selling and administrative expenses&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&#160;&#160;&#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;0&#160;&#160;&#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;(499,328)&#160;&#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;(499,328)&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Interest income&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&#160;&#160;&#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;0&#160;&#160;&#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;1,755&#160;&#160;&#160;&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;1,755&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Income before income taxes&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;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;570,213&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:190.95pt" 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:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Capital expenditures&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;112,864&#160;&#160;&#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;0&#160;&#160;&#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;7,730&#160;&#160;&#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;120,594&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:190.95pt" 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:190.95pt" 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:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Accounts receivable, net&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;6,151,706&#160;&#160;&#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;486,705&#160;&#160;&#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;0&#160;&#160;&#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;6,638,411&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Inventories, net&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,299,454&#160;&#160;&#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;1,313,786&#160;&#160;&#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;0&#160;&#160;&#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;9,613,240&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Property, plant and equipment, net&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,613,347&#160;&#160;&#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;1,400,542&#160;&#160;&#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;1,260,145&#160;&#160;&#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;12,274,034&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Other 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;0&#160;&#160;&#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;0&#160;&#160;&#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,440,615&#160;&#160;&#160;&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;4,440,615&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:190.95pt" 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;$ &#160;&#160;&#160;&#160;32,966,300&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:190.95pt" 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"&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"&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"&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"&gt;&#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:SegmentReportingDisclosureTextBlock>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock contextRef="Y23Q1">&lt;p style="font:10pt Arial;margin:0"&gt;7. &#160;Segment Information&#x2014;The Company operates in two business segments as determined by its products. &#160;The fastener segment 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.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock contextRef="Y23Q1">&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:190.95pt" 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:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Three Months Ended March 31, 2023:&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:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Net sales&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;7,856,813&#160;&#160;&#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;&#160;&#160;&#160;&#160;872,912&#160;&#160;&#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;0&#160;&#160;&#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;&#160;&#160;&#160;&#160;8,729,725&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:190.95pt" 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:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Depreciation&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;272,636&#160;&#160;&#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;30,732&#160;&#160;&#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;2,664&#160;&#160;&#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;306,032&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:190.95pt" 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:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment operating profit (loss)&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;(428,501)&#160;&#160;&#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;189,315&#160;&#160;&#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;0&#160;&#160;&#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;(239,186)&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Selling and administrative expenses&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&#160;&#160;&#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;0&#160;&#160;&#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;(538,537)&#160;&#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;(538,537)&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Interest income&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&#160;&#160;&#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;0&#160;&#160;&#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;40,586&#160;&#160;&#160;&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;40,586&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Loss before income taxes&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;$ &#160;&#160;&#160;&#160;(737,137)&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:190.95pt" 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:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Capital expenditures&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;336,066&#160;&#160;&#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;0&#160;&#160;&#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;77,353&#160;&#160;&#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;413,419&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:190.95pt" 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:190.95pt" 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:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Accounts receivable, net&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,857,565&#160;&#160;&#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;315,509&#160;&#160;&#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;0&#160;&#160;&#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;6,173,074&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Inventories, net&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;8,566,031&#160;&#160;&#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;1,432,921&#160;&#160;&#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;0&#160;&#160;&#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;9,998,952&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Property, plant and equipment, net&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,625,759&#160;&#160;&#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;1,272,765&#160;&#160;&#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;1,070,656&#160;&#160;&#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;11,969,180&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Other 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;0&#160;&#160;&#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;0&#160;&#160;&#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;5,551,041&#160;&#160;&#160;&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;5,551,041&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:190.95pt" 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;$ &#160;&#160;&#160;33,692,247&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:190.95pt" 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:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Three Months Ended March 31, 2022:&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:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Net sales&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;8,153,833&#160;&#160;&#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;&#160;&#160;&#160;&#160;1,043,863&#160;&#160;&#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;0&#160;&#160;&#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;&#160;&#160;&#160;&#160;9,197,696&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:190.95pt" 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:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Depreciation&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;281,841&#160;&#160;&#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;33,363&#160;&#160;&#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;5,220&#160;&#160;&#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;320,424&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:190.95pt" 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:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment operating profit&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;835,507&#160;&#160;&#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;232,279&#160;&#160;&#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;0&#160;&#160;&#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;1,067,786&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Selling and administrative expenses&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&#160;&#160;&#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;0&#160;&#160;&#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;(499,328)&#160;&#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;(499,328)&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Interest income&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&#160;&#160;&#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;0&#160;&#160;&#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;1,755&#160;&#160;&#160;&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;1,755&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Income before income taxes&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;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;570,213&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:190.95pt" 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:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Capital expenditures&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;112,864&#160;&#160;&#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;0&#160;&#160;&#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;7,730&#160;&#160;&#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;120,594&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:190.95pt" 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:190.95pt" 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:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Accounts receivable, net&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;6,151,706&#160;&#160;&#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;486,705&#160;&#160;&#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;0&#160;&#160;&#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;6,638,411&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Inventories, net&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,299,454&#160;&#160;&#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;1,313,786&#160;&#160;&#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;0&#160;&#160;&#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;9,613,240&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Property, plant and equipment, net&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,613,347&#160;&#160;&#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;1,400,542&#160;&#160;&#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;1,260,145&#160;&#160;&#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;12,274,034&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:190.95pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Other 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;0&#160;&#160;&#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;0&#160;&#160;&#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,440,615&#160;&#160;&#160;&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;4,440,615&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:190.95pt" 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;$ &#160;&#160;&#160;&#160;32,966,300&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:190.95pt" 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"&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"&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"&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"&gt;&#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:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:Revenues
      contextRef="Y23Q1_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">7856813</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Y23Q1_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">872912</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Y23Q1_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">0</us-gaap:Revenues>
    <us-gaap:Depreciation
      contextRef="Y23Q1_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">272636</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Y23Q1_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">30732</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Y23Q1_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">2664</us-gaap:Depreciation>
    <fil:SegmentOperatingprofit
      contextRef="Y23Q1_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">-428501</fil:SegmentOperatingprofit>
    <fil:SegmentOperatingprofit
      contextRef="Y23Q1_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">189315</fil:SegmentOperatingprofit>
    <fil:SegmentOperatingprofit
      contextRef="Y23Q1_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">0</fil:SegmentOperatingprofit>
    <fil:SellingAndAdministrativeExpensesUnallocatedCorporate
      contextRef="Y23Q1_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">0</fil:SellingAndAdministrativeExpensesUnallocatedCorporate>
    <fil:SellingAndAdministrativeExpensesUnallocatedCorporate
      contextRef="Y23Q1_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">0</fil:SellingAndAdministrativeExpensesUnallocatedCorporate>
    <fil:SellingAndAdministrativeExpensesUnallocatedCorporate
      contextRef="Y23Q1_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">-538537</fil:SellingAndAdministrativeExpensesUnallocatedCorporate>
    <us-gaap:InterestAndOtherIncome
      contextRef="Y23Q1_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">0</us-gaap:InterestAndOtherIncome>
    <us-gaap:InterestAndOtherIncome
      contextRef="Y23Q1_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">0</us-gaap:InterestAndOtherIncome>
    <us-gaap:InterestAndOtherIncome
      contextRef="Y23Q1_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">40586</us-gaap:InterestAndOtherIncome>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Y23Q1_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">336066</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Y23Q1_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">0</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Y23Q1_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">77353</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E23Q1_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">5857565</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E23Q1_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">315509</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E23Q1_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">0</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="E23Q1_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">8566031</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="E23Q1_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">1432921</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="E23Q1_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">0</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E23Q1_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">9625759</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E23Q1_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">1272765</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E23Q1_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">1070656</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OtherAssets
      contextRef="E23Q1_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">0</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="E23Q1_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">0</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="E23Q1_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">5551041</us-gaap:OtherAssets>
    <us-gaap:Revenues
      contextRef="Y22Q1_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">8153833</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Y22Q1_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">1043863</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Y22Q1_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">0</us-gaap:Revenues>
    <us-gaap:Depreciation
      contextRef="Y22Q1_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">281841</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Y22Q1_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">33363</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Y22Q1_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">5220</us-gaap:Depreciation>
    <fil:SegmentOperatingprofit
      contextRef="Y22Q1_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">835507</fil:SegmentOperatingprofit>
    <fil:SegmentOperatingprofit
      contextRef="Y22Q1_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">232279</fil:SegmentOperatingprofit>
    <fil:SegmentOperatingprofit
      contextRef="Y22Q1_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">0</fil:SegmentOperatingprofit>
    <fil:SellingAndAdministrativeExpensesUnallocatedCorporate
      contextRef="Y22Q1_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">0</fil:SellingAndAdministrativeExpensesUnallocatedCorporate>
    <fil:SellingAndAdministrativeExpensesUnallocatedCorporate
      contextRef="Y22Q1_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">0</fil:SellingAndAdministrativeExpensesUnallocatedCorporate>
    <fil:SellingAndAdministrativeExpensesUnallocatedCorporate
      contextRef="Y22Q1_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">-499328</fil:SellingAndAdministrativeExpensesUnallocatedCorporate>
    <us-gaap:InterestAndOtherIncome
      contextRef="Y22Q1_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">0</us-gaap:InterestAndOtherIncome>
    <us-gaap:InterestAndOtherIncome
      contextRef="Y22Q1_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">0</us-gaap:InterestAndOtherIncome>
    <us-gaap:InterestAndOtherIncome
      contextRef="Y22Q1_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">1755</us-gaap:InterestAndOtherIncome>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Y22Q1_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">112864</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Y22Q1_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">0</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Y22Q1_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">7730</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E22Q1_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">6151706</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E22Q1_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">486705</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E22Q1_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">0</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="E22Q1_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">8299454</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="E22Q1_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">1313786</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="E22Q1_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">0</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E22Q1_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">9613347</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E22Q1_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">1400542</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E22Q1_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">1260145</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OtherAssets
      contextRef="E22Q1_StBusnSeg-Fastener"
      decimals="INF"
      unitRef="USD">0</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="E22Q1_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      unitRef="USD">0</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="E22Q1_StBusnSeg-UnallocatedCorporate"
      decimals="INF"
      unitRef="USD">4440615</us-gaap:OtherAssets>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>31
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
MF&INHW1%)4L'':5_S6@Z_M;YIG F-<XNNA-<K5+M&K#@M;ZC2UD6E>R*>D-
MPSLJSY&+SQ!QB&LICW=(OD%.UZ9^51JWK#@WMW/K*HXI&D;6>BF$%W:A>2[?
MIPGUV75+/W@ID\^L-7SW&^XY'VQ0O\CL%>-%R7@!N0]G;!FF2E+=/;S)7S94
M6.^8/]R_NL0V,E#;D*Q;DG7!DMV&J4\C])U1:?JG#0TV:+<Q:;M6+E#8D*M7
M<O7 8I6/\^,F838J6(Z=]E<;$JAJB'19(ET>A_0UHU(Q&6W0C"5"*AL>;*5D
M9JL4#U0UQ+LJ\:Z.PYLR&0HS!@=(C^36QH.=RO&Q=H $]0TY^R5G'RS==FZY
M#2.&[K/XB4D;(>RA1Y.V@PFYM,&!TH9PV*FF4><8O+T1\Y[&UD8\8.1]GGBC
M3P]H-ODV?D3O:)Q\0'<C??5^C+P'&SALV)1\+T#@8\@GW!=2/Y9Y;#A#<Z7[
M,!(2>2+C2F[T9V"O#MA]\L6*#(J:(I,*F1R#_$A?T"30SVZX"/TB+M7W[ .6
M;J_M])V+/G&LO*"X*6\5=3"8,G:\HR#0[NG9[@!]T?>A!VYO5]BR[V!T*W5
M9)SZ:":H;0[V8).FW%7\P7!^><OMF3/=IQ_%FEN98;M[FN@BAE%DG81@<5/6
M*A!A.-"\92T?X*D4SR'W[8T,>]8\O*<(2+A*2!C..&]!IR)5.@K^&R;U8Q3L
MV'.Z/>M\"^N:DE;!"<-Q)^^N(_UR7P\&&_1<^VATBKR$J\"$X9SS19CH/ET)
M#B6) R9N][)]U77L?*?(2;@*2AA..8^ATAE)+! F?SS]B>;,SZ1N22LD[.2)
M.-:3TEP)_\<92O2[SC.-,H9^Q^>.@_1@5+S<6^O@%'&*5'&*P"GH4=(@Y$LT
MW\1/(K*A'S#POLVL2P2GR$JDRDH$3C.[MD3C%W]%^9+5IL0#1O??Y^/1W=C.
M>(IP1*IP1(X*1UXFI7FM*=[5\K;4,TIF73 YX/C=NOSDP:JFG%4H(D>%HHF.
M,+)8C#3O;70';N6$'>LX3Q&"2!6"R%$AR+RXZ32O0\%22.M@=,#G7O V]7VF
M;;1)4!A:>4\1A$@5A,A106@>TRA"-UFJOT[MO1;VJ5ML@&5-\:KX0XZ*/^.8
MR:5Y*C]I![72"2%.*+>W*VRXH%%J!SU%^B%5^B%P>-FUXXKI=H3P8)MZO%.D
M(%*E( ('F-TP^VJ*G^=K]>@A4SK3<C.#6HE_4;[9UD/AULW=S*[1\[#?ZV&7
M##K/-L(J!Q$XO8QBQH-\:>PVHG80V*"^Z4X1;MPJW+AP-BF7_/97H6_U1?MN
M FQ6M]8'RYHR5DG'A0/*6\;MZF8])6SWU;K2#HN:,E9)QX5S2;78+BE/PWP!
MJ'YI^H!9;6>%=?\7LK.W56BF@'P'-46^6:4K=@W+J^4N[2C?F^Q4MQ=;O'?4
MS" IBMA"2YWS2ST$R&+7M#A1(LDW'I^$4B+.#U>,!DR:&_3W"R'4[L3\0+EW
M/?P/4$L#!!0    (  *$J%;!A,FXFP8  .H:   8    >&PO=V]R:W-H965T
M<R]S:&5E=#(N>&ULK5G;;MLX$/T5PEOL!7!CD=0U30PTR5X*M+M!T^X^,S(=
M"Y4E+TDYR7[]#B5%LD2*=H$\)-9E.#J'Y,R9D2X>2_%-;CA7Z&F;%_)RME%J
M=[Y8R'3#MTR>E3M>P)UU*;9,P:EX6,B=X&Q5#]KF"^)YX6++LF*VO*BOW8KE
M15FI/"OXK4"RVFZ9>+[B>?EX.<.SEPN?LX>-TA<6RXL=>^!W7'W=W0HX6W1>
M5MF6%S(K"R3X^G+V'I]?4ZH'U!9_9_Q1'APC3>6^++_IDP^KRYFG$?&<ITJ[
M8/"SY]<\S[4GP/%OZW36/5,//#Q^\?Y;31[(W#/)K\O\GVRE-I>S>(96?,VJ
M7'TN'__@+:% ^TO+7-;_T6-KZ\U06DE5;MO!@&";%<TO>VHGXF  ]B<&D'8
M.74 ;0?4,[=HD-6T;IABRPM1/B*AK<&;/JCGIAX-;+)"+^.=$G W@W%J>5T6
M*U@4OD)P),L\6S$%)U<L9T7*T9UV+-%;]/7N!OW\YI>+A8*'ZJ&+M'W 5?,
M,O& 3TR<(8KGB'B$6H9?NX??\+0;3H;#%T"UXTLZOJ3V1Z?X5D+P0J'W4@(Q
M&YUFO&\?KZ/J7.Y8RB]G$#:2BSV?+7_\ 8?>.QNY5W(VH$H[JM3E?7G-Y :Q
M8H52?<#_K;(]RX&[E77C*JQ=Z=#?+PD)@T@OV?Z0D&GG>WZ /=S9#;#Z'5;?
MC94+E:VS%#:?1.4: G%7RDS9D#:.@D.D.*&>YXV06NS"!!_:#9 &'=+ B?1]
MFI853"+DL)3#C-[G',+C(Y<2L1R28ATVP. -K.*\?II)(3"@A3BB7N2/*)AV
M?A(%F$9V"F%'(712^%#L81N4(N-RC@ING>70>'22)'$2D!%$BQTFF-")68XZ
MB)$3XJW@.Y:M4%:DY98CQ9ZX==M&YDQ&!.-DA-(T"[SDT&P ,NY QDZ0?ZD-
M%Y"DFXS")C-*;"XC\7 R!FDS(Y$_L=A)!S)Q@OQ2*I:? #*QA!6$OQ=&(YA6
MP]"GU+<#Q5XO19XS-]\*J$Z$>IZC6U ?5>>N7R%M[:!LL&[2UM\KY>K7\C9D
M?R#$V+E0'S5=_9=M=Z+<\^U4JF[]'*X A@P,>6&T4B<8#K'V(HJ=PK6\JK)\
ME14/\C3 Q!*E04S"< SXN.$0<"^%V*V%L+5655,X\I<=56,O=0Q;05,#"XW\
MQ,?Q6&BLEE[L12&9@-VK(G;+HC,BYNAW44K[C)OBYP> )PG&2<=J2?TD\"<4
M'?="B=U*V6ABFE;;*J^+2A!U$,V,Z66PHC;UCM(HH5%DH+99^G$4^?$$ZEX;
ML5L<_X36:==-^ZZ;=NY,1*8,@KI N6%N%IME#/*?3 5E+YG8K9E-II_.\-A4
M04K#A!!_G.+MEB3$9$*,<"^9.#ZI_OZ8L?LLSU1FUW7L5-[OSNROY&W(N5=@
M[);@KF3<L6==+UH)F[**0X)]STCJIF&8@% ']I4AO?H2I[YIE**"*'V$[KW)
MZQ*:0#&Q0*VS4:KVHG@$UV+GAX32B=1(>KDD;KELBB_6@N9/.]W%VJ%:9! '
M$1U7VQ8[2J(DG$B$Y*#E=*OEUX(S40!*P:'PKGC3E-6]/5!H6QT[=%,0<4QC
M.A9.BQWQ:(0GPI7TNDG<NCFL'G-WT!)3"$F0A%!PC.&:AAB2)?&G-G$OF,0M
MF#=\S0'K\<:!F+J7>($7&YO"8N?'AW9#I+TZ$K<Z-C-[;$8M.A=X&!]$>PO3
M-"0A32B9:'%(KX<D=";LNPT3?%/F*R[D3W7QH9ZM4)VR^MWO35[)VY!T+Z7D
M:/O9[B,(TO0;=,DE)&^!]BRO^!P%7MW:(ZGG!G)EI3;03?_'5^=@6$#[7RFI
M(,BA0K9.E2FOXS+!:3(DU4LO<;>KU^5V"_5OR^@-/@,&!Z1\3<E.:X[P'--X
M[B7AR\U,2LB[[U 2AG"+O%P^QMSL<6$SQ^!WS/^XX7 6>C$F1\1XM<IT 0K!
MI]\PO,T*E+)=!L%H!6RJK>]'V-2.HW;#5WB]*E.W*G_FBF5:.[2$Z([+^O+.
M%%E* M NH_RT68(8TW"JQ:*](%.W('\1G,E*/+]L,!SA>1+ZW6Y2*"VEM7JF
MIO"^I5"7>LFXFCC%<@B_%VGJ%NDF'\M!MN.3V8Z:@DL]G&",QR_(K)9)'$:3
MD _>[YXBS@<2TE1MIU(P7^5.M -V2UL[L#CX$*&_ GUBXB$K),KY&H9Z9Q%,
M@V@^K#0GJMS5WR;N2P754'VXX0R@:P.XORY+]7*B/W=TG[>6_P-02P,$%
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
MWKQ=8Y3@LA9@_U\10M\OZJ_HNY^5S/\'4$L#!!0    (  *$J%;U=+IY8@(
M  ,&   8    >&PO=V]R:W-H965T<R]S:&5E=#8N>&ULM51=;],P%/TK5D!\
M2-"D2=E0:2.M91,\3*I6#9[=^+:QYMB9?=-N_YYK)PW=U!4>X"7VM>\Y/O<Z
M/I.=L7>N!$#V4"GMIE&)6(_CV!4E5-P-3 V:=M;&5APIM)O8U1:X"*!*Q6F2
MG,45ESK*)V%M8?.):5!)#0O+7%-5W#[.0)G=-!I&^X4;N2G1+\3YI.8;6 +>
MU@M+4=RS"%F!=M)H9F$]C2Z&X_G(YX>$'Q)V[F#.?"4K8^Y\\%U,H\0+ @4%
M>@9.PQ;FH)0G(AGW'6?4'^F!A_,]^U6HG6I9<0=SHWY*@>4T^APQ 6O>*+PQ
MNV_0U?/)\Q5&N?!ENRXWB5C1.#15!R8%E=3MR!^Z/AP B.<X(.T Z7/ Z 5
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
MJCKPK&Z,W)9GADMI8#PK+]>,YDQ9 7B_DM*\W-@%FF/G^7]02P,$%     @
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
M)B&^6&LK7.<A,O],$59.[*37K@-:0@<_H9RV6U%T 31"$*W7,-?F('0?278
M='S@L*( [P]O"=82:0,06=OH93JA(#;P]2C+!'1@]0YP*M^P?:_5G@+2LRBH
MCJ3$4Y3H^_?!824+HW%R% "$-!A/$FP$!AUF1>DZ&X<2-?(@"D+R)#J+ Y<F
M2F'H&+3J8N>)0^B$"]H<^142RSPY$LM6^M2/1EH,/8RW^ %..VFZL0@)4UNX
M:FFX1BC)9*OO%OF4-T)&YW4)0WIIR6M"P+?9-@Z5<#X(C83&S#R5I'>2TV"<
MLI9^2ZG;C&,#I:HT;"SH:P=\;#'",4&FT^),0;#,LF^<<2%\6VTD$+0BSPVW
M75. .5PKS.-$RF*(LAZU94E-(X0+[):F4[S!F1NRVUBG.N!B2+;0CJ+364'8
MK0Q1J(XNDOM Z /KE79)T<QWJ&&OHVF!85AVWB-#(0MM=#QP#5JH@2,[J&>;
M>O8V76F"F^1\1(!^K&MT^=K/T+,:-_C*Q.TUR+G7]D^AI5)7V)W4*]5H5,Q,
MW)S(OI"&I1?Z\YV:JU"X2L@M9@RJD@[3J-!]38S+2CUV@U2O?C:< .^U,<*Z
MB!/!RVY'Z/SLU"C,)[<2JKE-=R\/$7#M+ZAQ=;S>;_I;[=6\_S; 7; %:PB@
M@NM\]O/'##,BW;?]2W1MNN,*%]&Z]%CC$X4\&V"_<E#J\,(!QH^>S7]02P,$
M%     @  H2H5K&Q7,\$ P  D 8  !D   !X;"]W;W)K<VAE971S+W-H965T
M,3 N>&ULE57;;N-&#/T50@7:E\!R[.QVD=H&-FF+]F&+8"_=Y[%$:8B=BSI#
MV9N_+SFRU01(#/1%,T/Q'!YR1&ISC.E;MH@,W[T+>5M9YN&VKG-CT9N\B ,&
M>=/%Y W+,?5U'A*:MH"\JU?+Y=O:&PK5;E-L#VFWB2,["OB0((_>F_1XARX>
MM]5U=39\I-ZR&NK=9C ]?D+^,CPD.=4S2TL>0Z88(&&WK=Y?W][=J']Q^)OP
MF)_L03/9Q_A-#W^VVVJI@M!AP\I@9#G@/3JG1"+CGQ-G-8=4X-/]F?WWDKOD
MLC<9[Z/[2BW;;?6N@A8[,SK^&(]_X"F?-\K71)?+$XZ3[WI903-FCOX$%@6>
MPK2:[Z<Z/ &\>PVP.@%61?<4J*C\U;#9;5(\0E)O8=--2;6@11P%O91/G.0M
M"8YW]]%[8JDR9S"AA?L8F$*/H2',FYHEA#K6S8GN;J);O4*WA@]"8#/\%EIL
MG^-KD3;K6YWUW:TN$GXP:0'KZRM8+5?K"WSK.=]UX5N_PO=7Y)?SFF W+\.T
M-6[S8!K<5O+M9TP'K'8__G#]=OG+!5$WLZB;2^S__Q(NTZT7\-FBL/C!A$>@
M? 5=BAY8N@DXEO4**!RB.V K&W#$U!MM$[4W;FPE/& X4(I!=1D'C3/D)WV-
MZ$O23]!2'D8IJ** )6;03A'?.*:,$#O8CUG4Y;R KY8< K'H$3>&(>9,>S$9
M%J@8S_(PL]D[RK8P2G>1-)^X^3@&5DY'9D\B^5%ZA:V,ACQ(CRNT.1>.9R>:
MU)US8AM%6$(GE*U"'/8B>$BQ050/\?8FR#S2M%6K!%0=<:"@8X1MT2MZ^CX)
M]IDR+7<>&_L\NHQ..%H2LX0Y4)EGUDQ5V",&"=C*A1S)N6*SYB"DH%DG$G&F
M/:"6$[M.\XQ3J4_7^U.&CH*13T73B)GT%A<O?93UDRGA,?5E%F:]J\#3P)BM
M\[A]/TV9_]RG62U=V5/(4KQ.H,O%SV\J2-/\FPX<AS)S]I%E@I6ME5\&)G60
M]UV4/CP=-,#\$]K]"U!+ P04    "  "A*A6--S)PP('  !X$   &0   'AL
M+W=O<FMS:&5E=',O<VAE970Q,2YX;6RU6&UOV[86_IY?07C%/K&VWBS;61(@
M25=LP#8437?WF9:.+:Z2Z))4G>S7W^=0+W&S)!>XV( VD2B>P_/R/ _)7!R-
M_>PJ(B_NF[IUE[/*^\/Y8N&*BAKEYN9 +;[LC&V4QZO=+]S!DBJ#45,ODBC*
M%XW2[>SJ(HQ]L%<7IO.U;NF#%:YK&F4?;J@VQ\M9/!L'/NI]Y7E@<75Q4'NZ
M(__[X8/%VV+R4NJ&6J=-*RSM+F?7\?E-QO/#A/]H.KJ39\&9;(WYS"\_EY>S
MB .BF@K/'A1^?:5;JFMVA#"^##YGTY)L>/H\>G\?<D<N6^7HUM1_Z-)7E[/U
M3)2T4UWM/YKC3S3DLV1_A:E=^"F._=PXG8FB<]XT@S$B:'3;_U;W0QU.#-;1
M"P;)8)"$N/N%0I3OE%=7%]8<A>79\,8/(=5@C>!TRTVY\Q9?->S\U4?Z2FU'
M%PL/9SRT* ;#F]XP><$P%;^:UE=._-B65'YKOT 04R3)&,E-\JK#7Y6=BS26
M(HF2]!5_Z919&ORE+_C[S7ARS^75FV7/FS$)SMU!%70Y \H=V:\TN_K^NSB/
M?G@EJ&P**GO-^VOE?MTPFXO!]OOOUDF<_/"I(G%KFH-J'P0H:A6R%;H5'N,[
MY3RU9/%> D+V0:BV%'KZONT<W#LGS Y8:KL=N-%9W>[#/%"FYF<+NG@G!2!6
MOF7Z4SEY=F'F05F>X H+]C6JJ.!5'*PINX+'50?T*J^+WA4<>\^.AYDG/L*3
M-\"RP$)0B**:9DV)<P*6"K-O]5\(Y5A1B]A:;T$:),*)8>U&.WS<&U,B/;A"
M W7!I7'"6]6Z'5E+O)@PG1T8AGRDV'->JJX?1'> 7+A*'R ^GEU/W@H4O*8@
M)Q@>?4NNJ\*_QG0P\)7RK%<L/"Z$A2B=+KE';'DD0?<'?.0@D!"A..R![HM*
MM7L*)?"5<?3W-.;B/8=!UBM>TSEJMHB8OG1#M([VX7?(507E0WSVV0JRFI4"
M$:%L>\MX\.:H;/DDS5!8LF$#: L29EOK?9\*XPB@$;7:&ONV]]>0<IVEN?B%
M!Y%8T86*!V@A;;T#(  +LEK56,IQ^RV%1=70FD;7A,8PFM0#Y^,X N$4AON>
M([6YN!D3X%9R3:TF1"@1,C)M"$5$/%@!XH\HL"9J]4UG1D@\=KF#G T('!="
MU=_U] CDTA8.OW3 ;6_'>B7#IY&/I2Y%:Q@$JD:E!8^-+;!4(XZ0Y=-%K@,A
MH8,8'H4P.$9UN$+M4Q/D[9U'81';7-R%ZGAUCY_ 6*,>F+J<*UN$+@ 81^VK
M*9B>JZ&'O#MJKZEO!K!8=R43'HP:I[_$Q)8"2T94]EU2Y9_@5M\[Y*HL:X
M,WCV,(6]'(SU?1.Y@LC&TT@[0 ?<G M(';APZO!@-8X0.G23R\DKC%3&$,2L
M[34%? :DV\"<4\7DZ"VZ#>AJM=6U]KU& G]=?UR8$F$V HRZ"6T;U&U:I,=\
M4 Q@SANK"Z#Z$8MS\?..NU$2T-*P/@9Y8,">\BB #MP#'!%)42O=!,G"<ENU
MK:EG3[?]<Y(-Y4P;OHR>@R?).C1&VY,7JSWF.#3.<FL5EPAS=M!EH?9HG?,3
M,M2@8_!$SR,SA/0.\M5L$?LPFHAAS^SK]C2C(P48^XG_<W&K7#6J("3IX1LB
MH<^LA>91C9\DT+6D;$OE(T3O,/,P;F70TS+L93M"1*A!W3-ODOT ]A,HH^L3
M/N6 B)ZO@U"Y\!#4OY\3MJ%1Y$82 K?8A_C@.M()AV@W;EJ3)&ZI4)VCD#(V
M#^OU7ST>&#TF[-AUD.6*&P7L/! ?DGH^/"KG5!#F-N-VV, # 4I  \#DO>?K
M%,AT$GB);^@>,R=H7D!9. LQ]4: H%/#7B/%KK.L4M ]I_;82?:A8IA!;?D6
M1/U,_OSL_7@HN1YWK1^G7>L6A3*U+MGN[%-EB;XY73Y!WOG9-9\L3,CHC5A*
M7$!DO(GPG&5RO5KW@\M81OGZ[#?3OE6/\Q.Y7D8R!W[7R5I&:292F:_6,E^N
MSCX9#_(^"M0;L<+L7*[C%,_K52(W<<)/<I5L\'_Y/V--GL2:R4V4R7C-_K)8
M9GG:#V9+F6?YTUA3F60;1!8)I!(E,HLB3$Z6"9*+GHEV+>-E*M<I.X5%AN>P
MP ;56<E\DY_]<ZVM31&P^L\V]O=6L_\['XZS;T0NTTTL5]F*>['.Y7(5AZ[$
MZ%@:K\]P&L*]JQ5<2K0\SP4FI5F,@27ZGT7_4E/_'N<JCV2<;/K*<X^7?:2K
M'!U;1R>1IIM4KB+@#JMA9429IC*+\_^GH<]=218GMT%HW#[<>5F3<#CM+X;3
MZ'2MONYODX_3^SLYTMYC6X *[6 :S5?+&<[RX9[;OWAS"'?+K?% ;7BL2&$S
MXPGXOC.XA0TOO,#TQX:K_P)02P,$%     @  H2H5OQ9U=_G P  &PD  !D
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
MM.PP(H$E* V"*>/@=.9@\B+XMW1,FO28E#"AB;Y;H/N&> O*DNY8^J.&ENA
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
MM9L<>DD=XHYZ.>F5B? O+>5:*B])L@Q9&$FS:M-OSAXCY0B\>+I!^EIZF]0
M%FW<.<.]&DNZ_BM8YMS_7Y'L3<VU_B"8\\&?[()18(W:R/T%PX_/9"B#T9Q4
M+@SOH\BX?Q?1C8K*]?X\SG!*#0WUZUP]]_;G47)G[RT;-K*W[3P2QN27G@,N
M> ;9]TX*] 1HCDV++WO"?/DGA(ETI_9AFB^//WQ-;[_ZYX5EHAPDRJR-)D@(
M3XJ7YR(GW2GW$'0B9$[E[L)0,$9'.8OM0)YG%LDMG\  J<4^9O^KWOY71TVX
M2W/+Y_QZ<LH+1T5,S\TO4)*3Z-OA1P%_-D-OW# CIXF*B6_7*Y8[49EV!:+]
MX)W'L/3R//S585KZO,EY.KWS.#SR]7O]O^;NJ;">CWX:A 9JQ3^ XI?&391?
M"?57^]]8W<A/BX;E\@,MM),K])QH<99X]&+VXOD)%.8?/<F7Z%K^H='"11C$
M']=&(]=I >XOG8OY"VW0__+LW7\!4$L#!!0    (  *$J%84H !23 ,  ,((
M   9    >&PO=V]R:W-H965T<R]S:&5E=#$V+GAM;+5646_;-A!^SZ\@M&'8
M "ZB2(J2/-M DK;8@'4(DG1[INVS+40B79*.VW^_H^2HSN!HP) ]V#H>[SY^
M1W[4:7JP[M%O 0+YTC;&SY)M"+M)FOKE%EKM+^T.#,ZLK6MUP*';I'[G0*^Z
MI+9).6,J;75MDOFT\]VZ^=3N0U,;N'7$[]M6NZ_7T-C#+,F29\==O=F&Z$CG
MTYW>P#V$3[M;AZ-T0%G5+1A?6T,<K&?)53:Y5C&^"_BSAH,_L4FL9&'M8QS\
MMIHE+!*"!I8A(FA\/,$--$T$0AJ?CYC)L&1,/+6?T3]TM6,M"^WAQC9_U:NP
MG25E0E:PUOLFW-G#KW"L)X]X2]OX[I\<^E@I$[+<^V#;8S(R:&O3/_67XSZ<
M))3LE01^3. =[WZACN4['?1\ZNR!N!B-:-'H2NVRD5QMXJ'<!X>S->:%^1T\
M@=G#A+RKO=YL'&QTMUMV38Y3Y,<'O6C _S1- RX8T]+E$?RZ!^>O@ ORT9JP
M]>2]6<'J97Z*1 >V_)GM-1\%_*C=)1$9)9QQ,8(GANI%AR=?P?O=+KMRSY4V
MFAGORL3O]!)F"5X&#^X)DOD/WV6*_3+"2PZ\Y"BO5P_C'-%QJ _:!S#@R)7W
MT"Z:K^3]YWV]PWL5R(TUWC;U2@=873QL'<"+ R.XW<OML-^3BT^FQDAR'S#!
MD^^)HJ+*:"$+M(M2T;S(HD6SHJ0B*R_PWN"M,"2C4N64*44P2,@,'7F.3E9<
M/-B@&V+P[>-UTX$6M,P5+3.!=EEP6F4\6K3@%?[R?^7)S_$L%*,9K]#.*&.2
M9GG/M%"2\I*=,!65H 631.!JN#*R%(+*3)UA6B*,H*40/:Q$6T6[HEE54%6I
M$27D@Q+RT>/# F-YCQ#.'?UH[G_4J!J8J;?3Z#C46VKT:H^O3!M?]7@2*#JF
M\#08VE+2LBA[)XJ/J?+B#VM^UM_B.2J/4<4%*7E)F4 14(525OG_I-,77"6M
MHC#+B"?CC1&]4^942?5/KH)R62$SU@F:XUUB&,QSCL6QM])J>M)76G";KGMZ
MLK1[$_H6,WB'!GW5]Z5OX7UWQ](WM?&D@36FLLL"I>OZCMD/@MUU76IA Q;9
MF5O\R  7 W!^;6UX'L0%AL^6^=]02P,$%     @  H2H5N!OG<&7 @  I 4
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
M:(#W2^?"?A(#'*YHLW\!4$L#!!0    (  *$J%;7%9UEO 0  (D:   9
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
MCMQC)8QQ8K3^-8+)#^Q^ %!+ P04    "  "A*A6_R6!/H\"  #4#@  #P
M 'AL+W=O<FMB;V]K+GAM;,6776_;(!2&_PKR57<SQ\Y'VZBIM#7[B#1M4=+U
M-B+FV$'!$ %NN_[Z'>Q9P^N&=H-R90/'QP_O0;QP\Z3T<:_4D3S70II%<K#V
M-$]34QR@IN:M.H'$D5+IFEILZBHU)PV4F0. K46:CT:SM*9<)K<W?:ZU3OV&
MLE!8KB1VNHX'#D_F][AKDD=N^)X+;G\LDO9=0$)J+GG-7X MDE%"S$$]?5::
MORAIJ=@66@FQ2+)NX &TY<6K[JV#O*=[T_98NM]0!%DDLQ$F++DVMHUH\U-D
M? 0,[EJ-51^YL*"7U,(GK9H3EY5+@[-(O6FT.O3/3L2Y_A\955GR I:J:&J0
MMM-1@W" TASXR21$TAH621]"J&3D@[0H$EG)+A7&NIGBKU>LF[5%7$]#/><X
MH%>L!8\'>:<D VF $7PS2G"&'(R\IX+* H@'F0<@\S-"[G(/<AR ')\%<NMP
M\%,/<A* G)P1<J#D-  Y/2?DV(.<!2!GYX2<>)"7 <C+N)#OBD(UN//(BJP1
ML>!@/+"K -A57+ --T?3;HS?<9O1%GW(#N&N W#7L4M;U]RZH X1"^PD!/F'
M?MDHM&^/(BL(CR ;\'&"-A+91U:R4#60>_H\E"CD&EEDVUA)E,CBT6.(%/*(
M++));*%JCP0;."GM%I4/%O*%++(Q_&6G(!?]VQN?,F0,661G^+7H=V3)#:TJ
M#54;0U1)W)"/&;*&++(W> MO1[P&N<!CJAA@ALPAB^P.KQ;CCFPQ+6L$.$5]
MS)!59+&](E3TP9DE"YE&%MDU_EWT):"_^2?ID&_DD7TC6/2!FGG(3_+N0M7?
MHAB47 +[BK\PV(\WNF*MB7MT+C"9NMJ4C1!WV/=-?E&4]9>R_D)Y^Q-02P,$
M%     @  H2H5N[-2#LF 0  9@T  !H   !X;"]?<F5L<R]W;W)K8F]O:RYX
M;6PN<F5L<\W7S8Z",!# \5<A?0"'J8JZ$4][\6I\@0:'CPB4M-VH;[\$#SAF
M#WLQG1-I"=-_>O@E[$_4FM#8WM?-X)-[U_8^5W4(PQ> +VKJC%_8@?KQ36E=
M9\*X=!4,IKB:BD"G:0;N=88Z[%]G)N?'0/^9:,NR*>C;%C\=]>&/P7"S[NIK
MHJ"2LW$5A5S!O9VW/4P/7(R357*\Y,H=+Z@@=I!F03I^T)(%+>,'K5C0*G[0
MF@6MXP=E+"B+'[1A09OX05L6M(T?M&-!N_A!F'(94P%);U@+T!HYURC :^1@
MHP"QD9.- LQ&CC8*4!LYVRC ;>1PHP"YD=.- NQ&CC<*T%MSO;4 O3776W]2
M;Q\>+?FYY[GFYW^2ZC!^2_/QT_*Y^78)$\[ ?JL.OU!+ P04    "  "A*A6
M]> 03F4!  ![#@  $P   %M#;VYT96YT7U1Y<&5S72YX;6S-E\M.PS 017\E
MRK9J7 <H#[7= %OH@A\PR:2Q&C_D<4O[]TS2AP0J$561F$VLQ#/W7'ND*V7R
MMO6 R<8T%J=I':-_$ *+&HS"S'FPM%.Y8%2DU[ 07A5+M0"1CT9C43@;P<9A
M;#72V>0)*K5J8O*\H<^HG9VF 1I,D\==8<N:ILK[1A<JTKY8V_(;9;@G9-39
MU6"M/0ZH(!4G">W.SX!]W^L:0M E)',5XHLR5"4VC<"X;0"S?HD3'EU5Z0)*
M5ZP,M63H Z@2:X!HFFPG.N@G1[IAV#WEQ?Q.I@](E?/@/-+$ IR/.XRD[1YZ
M$H(0=?\1CT22OOA\T$Z[A/*7;+K>#Q>6W3Q0=,OE=_QUQD?],WWD3'Q<,?%Q
MS<3'#1,?8R8^;IGXN&/BXYZ)#SGB8H1+HDHND2JY9*KD$JJ22ZI*+K$JN>2J
MY!*LDDNRYER2-?_/9'UW;OG7OT/MFAFE[8$ONG_.V2=02P$"% ,4    "  "
MA*A6!T%-8H$   "Q    $               @ $     9&]C4')O<',O87!P
M+GAM;%!+ 0(4 Q0    (  *$J%9-^<(&[@   "L"   1              "
M :\   !D;V-0<F]P<R]C;W)E+GAM;%!+ 0(4 Q0    (  *$J%:97)PC$ 8
M )PG   3              "  <P!  !X;"]T:&5M92]T:&5M93$N>&UL4$L!
M A0#%     @  H2H5B% H(#0!0  QQX  !@              ("!#0@  'AL
M+W=O<FMS:&5E=',O<VAE970Q+GAM;%!+ 0(4 Q0    (  *$J%;!A,FXFP8
M .H:   8              " @1,.  !X;"]W;W)K<VAE971S+W-H965T,BYX
M;6Q02P$"% ,4    "  "A*A6]XEGB?X"   2"@  &               @('D
M%   >&PO=V]R:W-H965T<R]S:&5E=#,N>&UL4$L! A0#%     @  H2H5C0W
MF4<J!   7 \  !@              ("!&!@  'AL+W=O<FMS:&5E=',O<VAE
M970T+GAM;%!+ 0(4 Q0    (  *$J%92B%_0*@4  &(B   8
M  " @7@<  !X;"]W;W)K<VAE971S+W-H965T-2YX;6Q02P$"% ,4    "  "
MA*A6]72Z>6("   #!@  &               @('8(0  >&PO=V]R:W-H965T
M<R]S:&5E=#8N>&UL4$L! A0#%     @  H2H5G\T0)N !0  @A8  !@
M         ("!<"0  'AL+W=O<FMS:&5E=',O<VAE970W+GAM;%!+ 0(4 Q0
M   (  *$J%:_Q K6! 8  &H.   8              " @28J  !X;"]W;W)K
M<VAE971S+W-H965T."YX;6Q02P$"% ,4    "  "A*A61\ME-?4#    "0
M&               @(%@,   >&PO=V]R:W-H965T<R]S:&5E=#DN>&UL4$L!
M A0#%     @  H2H5K&Q7,\$ P  D 8  !D              ("!BS0  'AL
M+W=O<FMS:&5E=',O<VAE970Q,"YX;6Q02P$"% ,4    "  "A*A6--S)PP('
M  !X$   &0              @('&-P  >&PO=V]R:W-H965T<R]S:&5E=#$Q
M+GAM;%!+ 0(4 Q0    (  *$J%;\6=7?YP,  !L)   9              "
M@?\^  !X;"]W;W)K<VAE971S+W-H965T,3(N>&UL4$L! A0#%     @  H2H
M5MOO!YGA @  + 8  !D              ("!'4,  'AL+W=O<FMS:&5E=',O
M<VAE970Q,RYX;6Q02P$"% ,4    "  "A*A6Y4.^5-4$  "["@  &0
M        @($U1@  >&PO=V]R:W-H965T<R]S:&5E=#$T+GAM;%!+ 0(4 Q0
M   (  *$J%;L1#K*Z0T  (4F   9              " @4%+  !X;"]W;W)K
M<VAE971S+W-H965T,34N>&UL4$L! A0#%     @  H2H5A2@ %), P  P@@
M !D              ("!85D  'AL+W=O<FMS:&5E=',O<VAE970Q-BYX;6Q0
M2P$"% ,4    "  "A*A6X&^=P9<"  "D!0  &0              @('D7
M>&PO=V]R:W-H965T<R]S:&5E=#$W+GAM;%!+ 0(4 Q0    (  *$J%:-OT9R
M6 0  *X)   9              " @;)?  !X;"]W;W)K<VAE971S+W-H965T
M,3@N>&UL4$L! A0#%     @  H2H5M<5G66\!   B1H  !D
M ("!060  'AL+W=O<FMS:&5E=',O<VAE970Q.2YX;6Q02P$"% ,4    "  "
MA*A61T"F1+0"   -"   &0              @($T:0  >&PO=V]R:W-H965T
M<R]S:&5E=#(P+GAM;%!+ 0(4 Q0    (  *$J%9ET<HSU08  .TI   9
M          " @1]L  !X;"]W;W)K<VAE971S+W-H965T,C$N>&UL4$L! A0#
M%     @  H2H5KV^"4K_ @  B0\   T              ( !*W,  'AL+W-T
M>6QE<RYX;6Q02P$"% ,4    "  "A*A6EXJ[',     3 @  "P
M    @ %5=@  7W)E;',O+G)E;'-02P$"% ,4    "  "A*A6_R6!/H\"  #4
M#@  #P              @ $^=P  >&PO=V]R:V)O;VLN>&UL4$L! A0#%
M  @  H2H5N[-2#LF 0  9@T  !H              ( !^GD  'AL+U]R96QS
M+W=O<FMB;V]K+GAM;"YR96QS4$L! A0#%     @  H2H5O7@$$YE 0  >PX
M !,              ( !6'L  %M#;VYT96YT7U1Y<&5S72YX;6Q02P4&
/ !T '0#"!P  [GP

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<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>33
<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>34
<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>67</ContextCount>
  <ElementCount>125</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>14</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>3</UnitCount>
  <MyReports>
    <Report instance="d483910d10q.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/20230331/role/idr_DocumentDocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="d483910d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>000020 - Statement - Condensed Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets</Role>
      <ShortName>Condensed Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="d483910d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>000030 - Statement - Condensed Consolidated Balance Sheets - Parenthetical</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>Condensed Consolidated Balance Sheets - Parenthetical</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="d483910d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>000040 - Statement - Condensed Consolidated Statements of Operations (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited</Role>
      <ShortName>Condensed Consolidated Statements of Operations (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="d483910d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>000050 - Statement - Condensed Consolidated Statements of Shareholders' Equity (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnaudited</Role>
      <ShortName>Condensed Consolidated Statements of Shareholders' Equity (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="d483910d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>000060 - Statement - Condensed Consolidated Statements of Shareholders' Equity (Unaudited) - Parenthetical</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnauditedParenthetical</Role>
      <ShortName>Condensed Consolidated Statements of Shareholders' Equity (Unaudited) - Parenthetical</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="d483910d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>000070 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited</Role>
      <ShortName>Condensed Consolidated Statements of Cash Flows (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="d483910d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>000080 - Disclosure - Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPolicies</Role>
      <ShortName>Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="d483910d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>000090 - Disclosure - Risks and Uncertainties</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20230331/role/idr_DisclosureRisksAndUncertainties</Role>
      <ShortName>Risks and Uncertainties</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="d483910d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>000100 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20230331/role/idr_DisclosureCommitmentsAndContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="d483910d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>000110 - Disclosure - Revenue</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenue</Role>
      <ShortName>Revenue</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="d483910d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>000120 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20230331/role/idr_DisclosureIncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="d483910d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>000130 - Disclosure - Inventories</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20230331/role/idr_DisclosureInventories</Role>
      <ShortName>Inventories</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="d483910d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>000140 - Disclosure - Segment Reporting</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReporting</Role>
      <ShortName>Segment Reporting</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="d483910d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>000150 - Disclosure - Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPoliciesPolicies</Role>
      <ShortName>Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPolicies</ParentRole>
      <Position>15</Position>
    </Report>
    <Report instance="d483910d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>000160 - Disclosure - Revenue: Disaggregation of Revenue (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueTables</Role>
      <ShortName>Revenue: Disaggregation of Revenue (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="d483910d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>000170 - Disclosure - Inventories: Inventories (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20230331/role/idr_DisclosureInventoriesInventoriesTables</Role>
      <ShortName>Inventories: Inventories (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="d483910d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>000180 - Disclosure - Segment Reporting: Schedule of Segment Reporting by Segment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentTables</Role>
      <ShortName>Segment Reporting: Schedule of Segment Reporting by Segment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="d483910d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>000190 - Disclosure - Revenue: Disaggregation of Revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueDetails</Role>
      <ShortName>Revenue: Disaggregation of Revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueTables</ParentRole>
      <Position>19</Position>
    </Report>
    <Report instance="d483910d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>000200 - Disclosure - Inventories: Inventories (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20230331/role/idr_DisclosureInventoriesInventoriesDetails</Role>
      <ShortName>Inventories: Inventories (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20230331/role/idr_DisclosureInventoriesInventoriesTables</ParentRole>
      <Position>20</Position>
    </Report>
    <Report instance="d483910d10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>000210 - Disclosure - Segment Reporting: Schedule of Segment Reporting by Segment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails</Role>
      <ShortName>Segment Reporting: Schedule of Segment Reporting by Segment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentTables</ParentRole>
      <Position>21</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">[ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 3 fact(s) appearing in ix:hidden were eligible for transformation: dei:DocumentTransitionReport, dei:EntityRegistrantName, dei:SecurityExchangeName -  d483910d10q.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/2023/elts/us-gaap-2023.xsd 1910, 4602</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/2023/elts/us-gaap-2023.xsd 3739, 4602</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/2023/elts/us-gaap-2023.xsd 1957, 4602</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/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited. 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/2023/elts/us-gaap-2023.xsd 1778 - https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd 1778</Log>
  </Logs>
  <InputFiles>
    <File doctype="10-Q" original="d483910d10q.htm">d483910d10q.htm</File>
    <File>cvr-20230331.xsd</File>
    <File>cvr-20230331_cal.xml</File>
    <File>cvr-20230331_def.xml</File>
    <File>cvr-20230331_lab.xml</File>
    <File>cvr-20230331_pre.xml</File>
    <File>d483910dex31.htm</File>
    <File>d483910dex32.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="294">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="30">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>37
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "d483910d10q.htm": {
   "axisCustom": 0,
   "axisStandard": 4,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 294,
    "http://xbrl.sec.gov/dei/2023": 30
   },
   "contextCount": 67,
   "dts": {
    "calculationLink": {
     "local": [
      "cvr-20230331_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "cvr-20230331_def.xml"
     ]
    },
    "inline": {
     "local": [
      "d483910d10q.htm"
     ]
    },
    "labelLink": {
     "local": [
      "cvr-20230331_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "cvr-20230331_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "cvr-20230331.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd"
     ]
    }
   },
   "elementCount": 174,
   "entityCount": 1,
   "hidden": {
    "http://xbrl.sec.gov/dei/2023": 8,
    "total": 8
   },
   "keyCustom": 2,
   "keyStandard": 123,
   "memberCustom": 7,
   "memberStandard": 7,
   "nsprefix": "fil",
   "nsuri": "http://www.chicagorivet.com/20230331",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "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/20230331/role/idr_DocumentDocumentAndEntityInformation",
     "shortName": "Document and Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "p",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "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": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LegalMattersAndContingenciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000100 - Disclosure - Commitments and Contingencies",
     "menuCat": "Notes",
     "order": "10",
     "role": "http://www.chicagorivet.com/20230331/role/idr_DisclosureCommitmentsAndContingencies",
     "shortName": "Commitments and Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LegalMattersAndContingenciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000110 - Disclosure - Revenue",
     "menuCat": "Notes",
     "order": "11",
     "role": "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenue",
     "shortName": "Revenue",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000120 - Disclosure - Income Taxes",
     "menuCat": "Notes",
     "order": "12",
     "role": "http://www.chicagorivet.com/20230331/role/idr_DisclosureIncomeTaxes",
     "shortName": "Income Taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000130 - Disclosure - Inventories",
     "menuCat": "Notes",
     "order": "13",
     "role": "http://www.chicagorivet.com/20230331/role/idr_DisclosureInventories",
     "shortName": "Inventories",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000140 - Disclosure - Segment Reporting",
     "menuCat": "Notes",
     "order": "14",
     "role": "http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReporting",
     "shortName": "Segment Reporting",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000150 - Disclosure - Accounting Policies (Policies)",
     "menuCat": "Policies",
     "order": "15",
     "role": "http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPoliciesPolicies",
     "shortName": "Accounting Policies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1_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": "000160 - Disclosure - Revenue: Disaggregation of Revenue (Tables)",
     "menuCat": "Tables",
     "order": "16",
     "role": "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueTables",
     "shortName": "Revenue: Disaggregation of Revenue (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1_StGeo-Location",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000170 - Disclosure - Inventories: Inventories (Tables)",
     "menuCat": "Tables",
     "order": "17",
     "role": "http://www.chicagorivet.com/20230331/role/idr_DisclosureInventoriesInventoriesTables",
     "shortName": "Inventories: Inventories (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000180 - Disclosure - Segment Reporting: Schedule of Segment Reporting by Segment (Tables)",
     "menuCat": "Tables",
     "order": "18",
     "role": "http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentTables",
     "shortName": "Segment Reporting: Schedule of Segment Reporting by Segment (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000190 - Disclosure - Revenue: Disaggregation of Revenue (Details)",
     "menuCat": "Details",
     "order": "19",
     "role": "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueDetails",
     "shortName": "Revenue: Disaggregation of Revenue (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "E23Q1",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000020 - Statement - Condensed Consolidated Balance Sheets",
     "menuCat": "Statements",
     "order": "2",
     "role": "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets",
     "shortName": "Condensed Consolidated Balance Sheets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "E23Q1",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:CertificatesOfDepositAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "E23Q1",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterials",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000200 - Disclosure - Inventories: Inventories (Details)",
     "menuCat": "Details",
     "order": "20",
     "role": "http://www.chicagorivet.com/20230331/role/idr_DisclosureInventoriesInventoriesDetails",
     "shortName": "Inventories: Inventories (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "E23Q1",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterials",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000210 - Disclosure - Segment Reporting: Schedule of Segment Reporting by Segment (Details)",
     "menuCat": "Details",
     "order": "21",
     "role": "http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails",
     "shortName": "Segment Reporting: Schedule of Segment Reporting by Segment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1_StBusnSeg-Fastener",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "E23Q1",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000030 - Statement - Condensed Consolidated Balance Sheets - Parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "role": "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheetsParenthetical",
     "shortName": "Condensed Consolidated Balance Sheets - Parenthetical",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "E23Q1",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000040 - Statement - Condensed Consolidated Statements of Operations (Unaudited)",
     "menuCat": "Statements",
     "order": "4",
     "role": "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited",
     "shortName": "Condensed Consolidated Statements of Operations (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:CostOfRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "E21",
      "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 - Condensed Consolidated Statements of Shareholders' Equity (Unaudited)",
     "menuCat": "Statements",
     "order": "5",
     "role": "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnaudited",
     "shortName": "Condensed Consolidated Statements of Shareholders' Equity (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "E21",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockDividendsPerShareDeclared",
      "reportCount": 1,
      "unitRef": "UsdPerShare",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000060 - Statement - Condensed Consolidated Statements of Shareholders' Equity (Unaudited) - Parenthetical",
     "menuCat": "Statements",
     "order": "6",
     "role": "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnauditedParenthetical",
     "shortName": "Condensed Consolidated Statements of Shareholders' Equity (Unaudited) - Parenthetical",
     "subGroupType": "parenthetical",
     "uniqueAnchor": null
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000070 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)",
     "menuCat": "Statements",
     "order": "7",
     "role": "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited",
     "shortName": "Condensed Consolidated Statements of Cash Flows (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:DeferredIncomeTaxExpenseBenefit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000080 - Disclosure - Accounting Policies",
     "menuCat": "Notes",
     "order": "8",
     "role": "http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPolicies",
     "shortName": "Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000090 - Disclosure - Risks and Uncertainties",
     "menuCat": "Notes",
     "order": "9",
     "role": "http://www.chicagorivet.com/20230331/role/idr_DisclosureRisksAndUncertainties",
     "shortName": "Risks and Uncertainties",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "d483910d10q.htm",
      "contextRef": "Y23Q1",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 14,
   "tag": {
    "country_US": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES"
       }
      }
     },
     "localname": "US",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueDetails"
     ],
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.",
        "label": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r417"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an quarterly report.",
        "label": "Document Quarterly Report"
       }
      }
     },
     "localname": "DocumentQuarterlyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r418"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r415"
     ],
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r415"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r415"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r419"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r415"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r415"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r415"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r415"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r414"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r416"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/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/20230331",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails"
     ],
     "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/20230331",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueDetails"
     ],
     "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/20230331",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueTables"
     ],
     "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/20230331",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails"
     ],
     "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/20230331",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueTables"
     ],
     "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/20230331",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueDetails"
     ],
     "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/20230331",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails"
     ],
     "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 adminstrative expenses",
        "label": "Selling and Administrative Expenses"
       }
      }
     },
     "localname": "SellingAndAdministrativeExpensesUnallocatedCorporate",
     "nsuri": "http://www.chicagorivet.com/20230331",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "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/20230331",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r180",
      "r181",
      "r182",
      "r183",
      "r215",
      "r265",
      "r298",
      "r313",
      "r314",
      "r362",
      "r364",
      "r366",
      "r367",
      "r369",
      "r382",
      "r383",
      "r394",
      "r397",
      "r400",
      "r403",
      "r440",
      "r449",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r180",
      "r181",
      "r182",
      "r183",
      "r215",
      "r265",
      "r298",
      "r313",
      "r314",
      "r362",
      "r364",
      "r366",
      "r367",
      "r369",
      "r382",
      "r383",
      "r394",
      "r397",
      "r400",
      "r403",
      "r440",
      "r449",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r153",
      "r267",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r385",
      "r398",
      "r402",
      "r420",
      "r436",
      "r437",
      "r441",
      "r456"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueTables"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r153",
      "r267",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r385",
      "r398",
      "r402",
      "r420",
      "r436",
      "r437",
      "r441",
      "r456"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueTables"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r180",
      "r181",
      "r182",
      "r183",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r264",
      "r265",
      "r298",
      "r313",
      "r314",
      "r362",
      "r364",
      "r366",
      "r367",
      "r369",
      "r382",
      "r383",
      "r394",
      "r397",
      "r400",
      "r403",
      "r406",
      "r435",
      "r440",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r180",
      "r181",
      "r182",
      "r183",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r264",
      "r265",
      "r298",
      "r313",
      "r314",
      "r362",
      "r364",
      "r366",
      "r367",
      "r369",
      "r382",
      "r383",
      "r394",
      "r397",
      "r400",
      "r403",
      "r406",
      "r435",
      "r440",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r155",
      "r156",
      "r310",
      "r311",
      "r312",
      "r363",
      "r365",
      "r368",
      "r370",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r386",
      "r399",
      "r406",
      "r441",
      "r456"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueTables"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r155",
      "r156",
      "r310",
      "r311",
      "r312",
      "r363",
      "r365",
      "r368",
      "r370",
      "r371",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r386",
      "r399",
      "r406",
      "r441",
      "r456"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r7",
      "r401"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accounts payable"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r158",
      "r159"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "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 allowance of $160,000",
        "verboseLabel": "Accounts receivable - Less allowance of $160,000"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails",
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r9"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "auth_ref": [
      "r22",
      "r77",
      "r277"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0
      }
     },
     "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"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapital": {
     "auth_ref": [
      "r29",
      "r401",
      "r458"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r219",
      "r220",
      "r221",
      "r308",
      "r429",
      "r430",
      "r431",
      "r445",
      "r459"
     ],
     "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"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net income (loss) to net cash used in operating activities"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r80",
      "r160",
      "r164"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.",
        "label": "Accounts Receivable, Allowance for Credit Loss, Current"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r55",
      "r79",
      "r95",
      "r122",
      "r143",
      "r149",
      "r161",
      "r184",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r244",
      "r246",
      "r256",
      "r272",
      "r334",
      "r401",
      "r413",
      "r438",
      "r439",
      "r447"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets {1}",
        "terseLabel": "Assets"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r72",
      "r84",
      "r95",
      "r161",
      "r184",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r244",
      "r246",
      "r256",
      "r401",
      "r438",
      "r439",
      "r447"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Assets"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).",
        "label": "Accounting Policies {1}",
        "terseLabel": "Accounting Policies"
       }
      }
     },
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BuildingsAndImprovementsGross": {
     "auth_ref": [
      "r50"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0
      }
     },
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r15",
      "r75",
      "r387"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "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": "Cash and cash equivalents at end of period",
        "periodStartLabel": "Cash and cash equivalents at beginning of period"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets",
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": {
     "auth_ref": [
      "r0",
      "r44"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "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 decrease in cash and cash equivalents",
        "totalLabel": "Net decrease in cash and cash equivalents"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CertificatesOfDepositAtCarryingValue": {
     "auth_ref": [
      "r421"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and contingencies (Note 3)"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesPolicyTextBlock": {
     "auth_ref": [
      "r23",
      "r372"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for commitments and contingencies, which may include policies for recognizing and measuring loss and gain contingencies.",
        "label": "Commitments and Contingencies {2}",
        "terseLabel": "Commitments and Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockDividendsPerShareDeclared": {
     "auth_ref": [
      "r52"
     ],
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited",
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnauditedParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r404",
      "r405",
      "r406",
      "r408",
      "r409",
      "r410",
      "r411",
      "r429",
      "r430",
      "r445",
      "r457",
      "r459"
     ],
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r28"
     ],
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r28",
      "r322"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common Stock, Shares Authorized"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r28"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "Common Stock, Shares, Issued"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r5",
      "r28",
      "r322",
      "r340",
      "r459",
      "r460"
     ],
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheetsParenthetical",
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValueOutstanding": {
     "auth_ref": [
      "r28",
      "r322"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "auth_ref": [
      "r26",
      "r65"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for credit risk.",
        "label": "Risks and Uncertainties {1}",
        "terseLabel": "Risks and Uncertainties"
       }
      }
     },
     "localname": "ConcentrationRiskCreditRisk",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConcentrationRiskDisclosureTextBlock": {
     "auth_ref": [
      "r48"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk as of the balance sheet date.",
        "label": "Risks and Uncertainties"
       }
      }
     },
     "localname": "ConcentrationRiskDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRisksAndUncertainties"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CostOfRevenue": {
     "auth_ref": [
      "r40",
      "r95",
      "r161",
      "r184",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r256",
      "r438"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CustomerAdvancesAndDepositsCurrent": {
     "auth_ref": [
      "r60"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r3",
      "r53",
      "r66",
      "r238",
      "r239",
      "r428"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 3.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 {1}",
        "terseLabel": "Deferred income taxes"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "auth_ref": [
      "r225",
      "r226",
      "r273"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "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"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r3",
      "r21"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "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"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails",
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "auth_ref": [
      "r441"
     ],
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureTextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Notes"
       }
      }
     },
     "localname": "DisclosureTextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_Dividends": {
     "auth_ref": [
      "r1",
      "r52"
     ],
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Per share data"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "auth_ref": [
      "r9"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r5",
      "r69",
      "r88",
      "r89",
      "r90",
      "r98",
      "r99",
      "r100",
      "r102",
      "r107",
      "r109",
      "r117",
      "r162",
      "r163",
      "r194",
      "r219",
      "r220",
      "r221",
      "r234",
      "r235",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r299",
      "r300",
      "r301",
      "r308",
      "r359"
     ],
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r39",
      "r95",
      "r122",
      "r142",
      "r148",
      "r151",
      "r161",
      "r184",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r256",
      "r392",
      "r438"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "Gross profit",
        "totalLabel": "Gross profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": {
     "auth_ref": [
      "r96",
      "r240"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "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 (loss) before income taxes",
        "totalLabel": "Income (loss) before income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerBasicShare": {
     "auth_ref": [
      "r37",
      "r57",
      "r58",
      "r92",
      "r101",
      "r103",
      "r104",
      "r105",
      "r106",
      "r112",
      "r114",
      "r115",
      "r255",
      "r268",
      "r455"
     ],
     "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 (loss) per share"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsPerBasicShare",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare": {
     "auth_ref": [
      "r37",
      "r92",
      "r101",
      "r103",
      "r104",
      "r105",
      "r106",
      "r112",
      "r114",
      "r115",
      "r116",
      "r255",
      "r268",
      "r455"
     ],
     "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 (loss) per share"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsPerDilutedShare",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Consolidated Statements of Operations (Unaudited)"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r97",
      "r222",
      "r228",
      "r229",
      "r232",
      "r236",
      "r241",
      "r242",
      "r243",
      "r307"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureIncomeTaxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r63",
      "r67",
      "r108",
      "r109",
      "r130",
      "r227",
      "r237",
      "r280"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "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 (benefit) for income taxes"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "auth_ref": [
      "r87",
      "r223",
      "r224",
      "r229",
      "r230",
      "r231",
      "r233",
      "r305"
     ],
     "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 {1}",
        "terseLabel": "Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r2"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 7.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 {1}",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r2"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 4.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"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits": {
     "auth_ref": [
      "r61"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "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 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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": {
     "auth_ref": [
      "r2"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "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 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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r2"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "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 the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.",
        "label": "Inventories"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherAccruedLiabilities": {
     "auth_ref": [
      "r2"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "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 other expenses incurred but not yet paid.",
        "label": "Other accrued expenses {1}",
        "terseLabel": "Other accrued expenses"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "auth_ref": [
      "r2"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 6.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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "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": "Interest income"
       }
      }
     },
     "localname": "InterestAndOtherIncome",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "auth_ref": [
      "r165"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.",
        "label": "Inventories {1}",
        "terseLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureInventories"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryFinishedGoods": {
     "auth_ref": [
      "r423"
     ],
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureInventoriesInventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryGross": {
     "auth_ref": [
      "r426"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross 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": "Inventories, gross"
       }
      }
     },
     "localname": "InventoryGross",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureInventoriesInventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r82",
      "r388",
      "r401"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureInventoriesInventoriesDetails",
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails",
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "auth_ref": [
      "r64",
      "r74",
      "r81",
      "r165",
      "r166",
      "r167",
      "r266",
      "r390"
     ],
     "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 {2}",
        "terseLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryRawMaterials": {
     "auth_ref": [
      "r425"
     ],
     "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 material"
       }
      }
     },
     "localname": "InventoryRawMaterials",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureInventoriesInventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryValuationReserves": {
     "auth_ref": [
      "r19",
      "r426"
     ],
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureInventoriesInventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWorkInProcess": {
     "auth_ref": [
      "r424"
     ],
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureInventoriesInventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LandAndLandImprovements": {
     "auth_ref": [
      "r422"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0
      }
     },
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LegalMattersAndContingenciesTextBlock": {
     "auth_ref": [
      "r51"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for legal proceedings, legal contingencies, litigation, regulatory and environmental matters and other contingencies.",
        "label": "Commitments and Contingencies {1}",
        "terseLabel": "Commitments and Contingencies"
       }
      }
     },
     "localname": "LegalMattersAndContingenciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureCommitmentsAndContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r8",
      "r95",
      "r161",
      "r184",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r245",
      "r246",
      "r247",
      "r256",
      "r321",
      "r391",
      "r413",
      "r438",
      "r447",
      "r448"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r33",
      "r56",
      "r276",
      "r401",
      "r427",
      "r433",
      "r446"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Shareholders' Equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r10",
      "r73",
      "r95",
      "r161",
      "r184",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r245",
      "r246",
      "r247",
      "r256",
      "r401",
      "r438",
      "r447",
      "r448"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_MachineryAndEquipmentGross": {
     "auth_ref": [
      "r50"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0
      }
     },
     "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": "Production equipment and other"
       }
      }
     },
     "localname": "MachineryAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r93"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r93"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "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 (used in) investing activities",
        "totalLabel": "Net cash provided by (used in) investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r44",
      "r45",
      "r46"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r38",
      "r46",
      "r59",
      "r71",
      "r85",
      "r86",
      "r90",
      "r95",
      "r101",
      "r103",
      "r104",
      "r105",
      "r106",
      "r108",
      "r109",
      "r113",
      "r122",
      "r142",
      "r148",
      "r151",
      "r161",
      "r184",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r255",
      "r256",
      "r279",
      "r342",
      "r357",
      "r358",
      "r392",
      "r412",
      "r438"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "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 (loss)",
        "totalLabel": "Net Income (loss)"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited",
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited",
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NonUsMember": {
     "auth_ref": [
      "r461",
      "r462",
      "r463",
      "r464"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Countries excluding the United States of America (US).",
        "label": "Non-US"
       }
      }
     },
     "localname": "NonUsMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r122",
      "r142",
      "r148",
      "r151",
      "r392"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "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 (loss)",
        "totalLabel": "Operating profit (loss)"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssets": {
     "auth_ref": [
      "r54",
      "r78",
      "r271",
      "r413"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of assets classified as other.",
        "label": "Other Assets"
       }
      }
     },
     "localname": "OtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsCurrent": {
     "auth_ref": [
      "r83",
      "r401"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r42"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "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"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfDividendsCommonStock": {
     "auth_ref": [
      "r14"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireProductiveAssets": {
     "auth_ref": [
      "r62",
      "r442",
      "r443",
      "r444"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r43"
     ],
     "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 {1}",
        "terseLabel": "Capital expenditures"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PolicyTextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Policies"
       }
      }
     },
     "localname": "PolicyTextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PreferredStockMember": {
     "auth_ref": [
      "r404",
      "r405",
      "r408",
      "r409",
      "r410",
      "r411",
      "r457",
      "r459"
     ],
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r27",
      "r193"
     ],
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "auth_ref": [
      "r27",
      "r322"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.",
        "label": "Preferred Stock, Shares Authorized"
       }
      }
     },
     "localname": "PreferredStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "auth_ref": [
      "r27",
      "r322",
      "r340",
      "r459",
      "r460"
     ],
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockValue": {
     "auth_ref": [
      "r27",
      "r274",
      "r401"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidTaxes": {
     "auth_ref": [
      "r389",
      "r395",
      "r434"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities": {
     "auth_ref": [
      "r13",
      "r432"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 2.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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "auth_ref": [
      "r50",
      "r76",
      "r278"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property, Plant and Equipment, Gross",
        "totalLabel": "Property, Plant and Equipment, Gross"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r4",
      "r270",
      "r278",
      "r401"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "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": "Net property, plant and equipment",
        "totalLabel": "Net property, plant and equipment",
        "verboseLabel": "Net property, plant and equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails",
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r30",
      "r52",
      "r275",
      "r302",
      "r303",
      "r306",
      "r323",
      "r401"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated undistributed earnings (deficit).",
        "label": "Retained earnings"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r69",
      "r98",
      "r99",
      "r100",
      "r102",
      "r107",
      "r109",
      "r162",
      "r163",
      "r219",
      "r220",
      "r221",
      "r234",
      "r235",
      "r248",
      "r250",
      "r251",
      "r253",
      "r254",
      "r299",
      "r301",
      "r308",
      "r459"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated undistributed earnings (deficit).",
        "label": "Retained Earnings"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r123",
      "r124",
      "r141",
      "r146",
      "r147",
      "r153",
      "r155",
      "r157",
      "r211",
      "r212",
      "r267"
     ],
     "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 {2}",
        "terseLabel": "Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "auth_ref": [
      "r68",
      "r203",
      "r204",
      "r205",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r384"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for revenue from contract with customer.",
        "label": "Revenue {1}",
        "terseLabel": "Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "auth_ref": [
      "r68",
      "r195",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r213"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.",
        "label": "Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenue"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Revenues": {
     "auth_ref": [
      "r91",
      "r95",
      "r123",
      "r124",
      "r141",
      "r146",
      "r147",
      "r153",
      "r155",
      "r157",
      "r161",
      "r184",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r256",
      "r269",
      "r438"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails",
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r6",
      "r34",
      "r35",
      "r36"
     ],
     "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": "Inventories {3}",
        "terseLabel": "Inventories"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureInventoriesInventoriesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "auth_ref": [
      "r16",
      "r17",
      "r18",
      "r20"
     ],
     "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 by Segment"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentDomain": {
     "auth_ref": [
      "r119",
      "r122",
      "r123",
      "r124",
      "r125",
      "r126",
      "r127",
      "r128",
      "r129",
      "r130",
      "r131",
      "r132",
      "r133",
      "r141",
      "r142",
      "r143",
      "r144",
      "r145",
      "r146",
      "r147",
      "r148",
      "r149",
      "r151",
      "r157",
      "r168",
      "r169",
      "r170",
      "r171",
      "r172",
      "r173",
      "r174",
      "r175",
      "r176",
      "r178",
      "r179",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r288",
      "r289",
      "r290",
      "r291",
      "r396",
      "r420",
      "r456"
     ],
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "auth_ref": [
      "r118",
      "r119",
      "r120",
      "r121",
      "r122",
      "r134",
      "r145",
      "r149",
      "r150",
      "r151",
      "r152",
      "r153",
      "r154",
      "r157"
     ],
     "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": "Segment Reporting"
       }
      }
     },
     "localname": "SegmentReportingDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReporting"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentReportingPolicyPolicyTextBlock": {
     "auth_ref": [
      "r135",
      "r136",
      "r137",
      "r138",
      "r139",
      "r140",
      "r155",
      "r393"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for segment reporting.",
        "label": "Segment Reporting {1}",
        "terseLabel": "Segment Reporting"
       }
      }
     },
     "localname": "SegmentReportingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r41"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r47",
      "r94"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.",
        "label": "Accounting Policies"
       }
      }
     },
     "localname": "SignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "auth_ref": [
      "r70",
      "r119",
      "r122",
      "r123",
      "r124",
      "r125",
      "r126",
      "r127",
      "r128",
      "r129",
      "r130",
      "r131",
      "r132",
      "r133",
      "r141",
      "r142",
      "r143",
      "r144",
      "r145",
      "r146",
      "r147",
      "r148",
      "r149",
      "r151",
      "r157",
      "r168",
      "r169",
      "r170",
      "r171",
      "r172",
      "r173",
      "r174",
      "r175",
      "r176",
      "r177",
      "r178",
      "r179",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r288",
      "r289",
      "r290",
      "r291",
      "r396",
      "r420",
      "r456"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business segments.",
        "label": "Segments [Axis]"
       }
      }
     },
     "localname": "StatementBusinessSegmentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r5",
      "r12",
      "r69",
      "r88",
      "r89",
      "r90",
      "r98",
      "r99",
      "r100",
      "r102",
      "r107",
      "r109",
      "r117",
      "r162",
      "r163",
      "r194",
      "r219",
      "r220",
      "r221",
      "r234",
      "r235",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r299",
      "r300",
      "r301",
      "r308",
      "r359"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [
      "r98",
      "r99",
      "r100",
      "r117",
      "r267",
      "r304",
      "r309",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r322",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r341",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r359",
      "r407"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPoliciesPolicies",
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueTables",
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails",
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Consolidated Statements of Cash Flows (Unaudited)"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Consolidated Balance Sheets",
        "verboseLabel": "Condensed Consolidated Balance Sheets - Parenthetical"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Consolidated Statements of Shareholders' Equity (Unaudited)",
        "verboseLabel": "Condensed Consolidated Statements of Shareholders' Equity (Unaudited) - Parenthetical"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r98",
      "r99",
      "r100",
      "r117",
      "r267",
      "r304",
      "r309",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r322",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r341",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r359",
      "r407"
     ],
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureAccountingPoliciesPolicies",
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueDetails",
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureRevenueDisaggregationOfRevenueTables",
      "http://www.chicagorivet.com/20230331/role/idr_DisclosureSegmentReportingScheduleOfSegmentReportingBySegmentDetails",
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r28",
      "r31",
      "r32",
      "r49",
      "r324",
      "r340",
      "r360",
      "r361",
      "r401",
      "r413",
      "r427",
      "r433",
      "r446",
      "r459"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.",
        "label": "Total shareholders' equity",
        "periodEndLabel": "Ending Balance",
        "periodStartLabel": "Beginning Balance",
        "totalLabel": "Total shareholders' equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets",
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shareholders' Equity"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TableTextBlockSupplementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tables/Schedules"
       }
      }
     },
     "localname": "TableTextBlockSupplementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_TextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Details"
       }
      }
     },
     "localname": "TextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_TreasuryStockCommonMember": {
     "auth_ref": [
      "r24"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury.",
        "label": "Treasury Stock, Common"
       }
      }
     },
     "localname": "TreasuryStockCommonMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockCommonShares": {
     "auth_ref": [
      "r24"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury.",
        "label": "Treasury Stock Shares",
        "periodEndLabel": "Treasury Stock Shares",
        "periodStartLabel": "Treasury Stock Shares"
       }
      }
     },
     "localname": "TreasuryStockCommonShares",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockValue": {
     "auth_ref": [
      "r11",
      "r24",
      "r25"
     ],
     "calculation": {
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets": {
       "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r111",
      "r116"
     ],
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r110",
      "r116"
     ],
     "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/2023",
     "presentation": [
      "http://www.chicagorivet.com/20230331/role/idr_StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 3
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "405",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147481071/942-405-45-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r11": {
   "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//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "280",
   "URI": "https://asc.fasb.org//280/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(j)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "26",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "34",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "326",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "https://asc.fasb.org//330/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "360",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "420",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Topic": "420",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 5.BB)",
   "Topic": "330",
   "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-17",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-19",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "https://asc.fasb.org//740/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-25",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "460",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r236": {
   "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//1943274/2147479360/740-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r238": {
   "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//1943274/2147479360/740-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r239": {
   "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//1943274/2147479360/740-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481549/505-30-45-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r240": {
   "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//1943274/2147479360/740-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481520/505-30-50-4",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)(iii)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)(iv)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(i)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147480981/942-825-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "330",
   "Topic": "912",
   "URI": "https://asc.fasb.org//1943274/2147482105/912-330-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r271": {
   "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//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(21))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-16(Column A))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-16(Column B))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-16(Column C))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-16(Column D))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-16(Column E))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-16(Column F))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-16(Column G))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-16(Column H))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-16(Column I))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-16(Column J))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-16(Column K))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.6-03(d))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.6-03(h)(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "205",
   "Subparagraph": "(a)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(b)(2)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(a)(2)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(e)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(f)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(14))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(17))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(19))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(8))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-05(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-05(4))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "220",
   "Subparagraph": "(b)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "220",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(9))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(6))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r37": {
   "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//1943274/2147483621/220-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "450",
   "Topic": "954",
   "URI": "https://asc.fasb.org//1943274/2147480598/954-450-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)(4)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "47",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482785/280-10-55-47",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "340",
   "URI": "https://asc.fasb.org//1943274/2147482955/340-10-05-5",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r40": {
   "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//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(b)(1)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(a)(1)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Subparagraph": "(d)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "830",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "830",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r414": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r415": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r416": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r417": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "308",
   "Subsection": "a",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r418": {
   "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"
  },
  "r419": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r42": {
   "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//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r424": {
   "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//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r425": {
   "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//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r428": {
   "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//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "340",
   "URI": "https://asc.fasb.org//1943274/2147483032/340-10-45-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "410",
   "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "50",
   "Topic": "805",
   "URI": "https://asc.fasb.org//1943274/2147480060/805-50-25-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "50",
   "Topic": "805",
   "URI": "https://asc.fasb.org//1943274/2147480027/805-50-30-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "50",
   "Topic": "805",
   "URI": "https://asc.fasb.org//1943274/2147480027/805-50-30-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "205",
   "Subparagraph": "(a)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(18))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "https://asc.fasb.org//235/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "https://asc.fasb.org//275/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "https://asc.fasb.org//450/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r54": {
   "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//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r57": {
   "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//1943274/2147483589/942-220-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r58": {
   "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//1943274/2147483589/942-220-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28",
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "270",
   "URI": "https://asc.fasb.org//1943274/2147482989/270-10-45-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "https://asc.fasb.org//606/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "205",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(17))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(18))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(8))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(1))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r96": {
   "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//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r97": {
   "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//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  }
 },
 "version": "2.2"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>38
<FILENAME>0001193125-23-138314-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001193125-23-138314-xbrl.zip
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
M-;0U1]HI,CCO:M= 54@:W%!3%DP;MLH4P'W+41N&0R7@V?LF,G2*3I' G7/
M<.^]!1,]G)G[-L*9=<"B.DI= [:_!GP!**)WO5R$-IW]?>067_!V7Q6\E7S8
M_BI!612LJA\'+G=K]LL(D;>Z)-!#3'Q2EH_53]A/D=9?BP8]3;JKW$NU@H)]
M8*T\&A;5F^,,W%?NL;"9 )?]%['!94@9'D)2CL@5E=A/YJJH6%32GB<+RU&G
M%+>?)+6G%NT.3#*2)>,,I?@^T*'R5$['OXP$ZKEDYRHQ8+EG[2>J) 9RUOZ]
MBTTD2P4B?@'T^P3VHYCHKA=?CE8F%11ERS1BKCJFMZM.*\?IC=DA1NR./$ R
M1JXJPRP5LSW9+/?-\O1=;+0(AV.SJ?2GB7I9@SEI78_*,2-STG"ZKQ+X#2>R
M-V)@MQGNI3FFA_SGZ\"[!>05,FG2529A*NU:V%L$W%*7#'?S^<#Y&\1] D9B
M@O458[]:UO8)0..E.B-DQ2P01YMINY7#D%K6X"Q0V,'F'*D]-?V.5,&!X:E@
M<QHLF ^2XR65TT%.P-1L4-AADMD@[Y!%98.Z)F=_34ZWM"U*QY1[UOYT3$D,
M]&_6CM(QJ?V5J8\5I6&TRLUN)M79L[7=I>*@8B_TX5TO?^=B&E^I"/GU6[9@
MO^HZQNXH/WDECI3PMYV@3%JQ+D.9&/;SI"C7,?(BI'QZH#3NJZ4.PI,^8_,:
MMJ37IC.:JU>2M(>M965L.?A.U^$D=2(+#[Q;&7N;#KA;"WX+UJY? >53!R3*
MM6M.P&CD+>L@R9HU[TAU'5N*6X=2WI _%3_/'@FKE "J)*U%4NG:MG>IU:7
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
M1%*G+AD,/1?QE":,K[A1%0=:IW0=9\GFE(;-_K9]"HXE*ZD<0&J'SX' $V:
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
M+9L37.'G@2NU%4P8,W31'C)SZ;+4R%JZS<OE+$_--BU7D=HEIF@5).B!,SA
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
MA1QDJPH&V-5Q:!8BO.=X%@<RB##$0FV/)+R(SP%."!+O@)G,1/Q[\CV(";S
ML)_J'6P_^X/6(B</U!)>U- 6<9!7/02P.^C2J)#,X;4>I/5>QMH&^,7J$"'7
M!#V0@$0$RTE>DE8UI8&PA,O6%RTK?$;CXFY&,<W1L6@NG%':+%2I*= N;74;
M)T"=S>',=9!AA)8RPF 652D(6T-2C:!*T5Z+*+F8S0.ZQ/@6)U.LLGT .]7E
M7"+*  6+QCS1K%A<@RM8WB6.-%9;Y/4/8A[1&6;I,:YR*$^#WA4D&11TB2T3
M'"R*<AKW)<<[D7GO^=FMJ?TP550>XS3#]^@I8RGL5%>5LH;:VC/"2CPL>I]E
M5*ON=0YSDK.S$PYU;1?:6J=Y%U[KN\IM9?*LFE6BKRX!4279]II&'4*4EEKD
M=&6V]27*P9L934JXQ(S6<HM>27W?)RL]1HB(E^@ S4F$BF>_5$F[Q QHL47.
MU2V.$ FQ?X%8F$3JL[&A,?$(]-HQ*.@25R8X6/3BN6<8\9@M*]\["D&7:%'9
MN;MS]7XUS0OQ)%F:LF6B9SS!<XI"E9V=B$56S6^W#'DY/&NO1J03"R-RQD6B
M))--;J"BH3P."X>>,'M(N!=0,6+A"J^M7AUM]_?MHI\U<=+/BNS9OSU* )OB
M2%0:''XS=_YQ=N[LSNMXW.:]JZL4!/11HGM)V9#&#]$X#LJ[R2HB5+7J<'.
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
M@.Y7GF\Y6WPGQL!RJ#<&MHA=\#)UA-Z6&]V&K'8*+(.LH"ZH2G:R*.H7HA&
M]DI'D=NM?.48%?4B=G*P>P<YLBA:9['ZMM1$HXEL(G>;]3[@WB55\S%,,5N&
M35EO=.5FHZ13&*5F%UB-M&&$0^QQ2DT\;>'!PMA]/H?D:_0F:_R26"+\;E/\
M!5BE-\2V</]EGR]DH[(\$UUN=^'?=EU5=+B\4HP?H\N-3EMN-SJ'X,?<T #[
MP(F,_"C.R,>1SSMV<<JK3%95N=OJ%AL'U0Y.]=BEF.RK*G=:*IJG/7)OZJ*H
M]VO<EW!B-)BX(1'0UUAYG^LN2J6J6"(U0RY]]":9;HA'+3>BUO31^RP5,^6Y
MX*VN)FLYBS]KHW@H?%24>][26K*JU27$\]Q0%*W?JZ4L$X>5#!#3[AO[9I$G
MR[8"B_*]\V1WIB/1EVDO]M!K2_(>RKCJ<M9=:\\#UH^3*_T26K$N8JTRK)7E
MVS*WF>(+>D9DC'=P5$D=1H'#5/P@90HCQ*KN^*+*/>FC0ERAR@VE+FTMCN3+
M?Q9!_&**V;IM6=.;A[#?,]$'7DA-Z94\"R_>)S;!^V7VPG8MYXRKX<AVQY3>
M4[:%F+#,)5\JU6[*2CO?MF!M=2O)$<74I;0T6==+*G<K_Q(+(G0$?1MA(Y8]
M.O,BM-O6!%]5FW([YQG/VC$HD:[%9)*UMMQM'=+-OC\<2CP'1-JC+]0)*;\<
M//0!,)!W<<_O(7@ EV)-/?,%+^O$8P_B6M>R-4%'ESMZ?02F>BY ?I8HY@8
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
MF*762QQEX*G"\]U9_* J>4/KF;DZ\*X#[_PYGSZ_,K3R-T[5"<IWF*",LT3
MLV;<Q7-$++-2RC%C_'_;CWNJ3?40*JU0,;6]6AW;[82L97?-.Y# +=JF3S-+
M[R146\^O_AHA;'O[]T6JF'=HG@^-O0J_?:0D55<';+6!WZ. #4VC*<H&T3(R
M,\DJ:?$7^I_0 B#1#]F/H&V%^D'=@_]>3=9U3_W LXR FOA%SS&G/T@\>4<]
MRS5G:RVOW@P[1-#A%W8_T#T)Z%6_3XW2K]12Y7:[*^OME/YMM8U\ISQ6M)EL
M:ZK<S'L'\<ZKCM(4F$0"Z8G"4]B#%#=\1PS7E3*KJSF+;>E-L4P//"K/&\/L
M?Q [G#G6>J5IA>SGRDJC*:M*OG,FM5.P%0H7$_G+BMZ2N\T#N.QSJ0:@\'E>
MV=]1R)^A^UXAMY^7P))%91EEK=64VUJ^&]%K+^>=<EU1A6VRKC;EACKO]%35
MY]EY@D#PY]>OC*'J=$$YZ8*XT9RV;A,]O:46VJ9GD\Z1M0HOM*U:9H[ZM&^=
M.9NST^]19\Z<CXM&GNVCA8T\+]W0LZB'J%MWRK7;7ZXU\LWMX]6#]'@K/?Z.
M0]U\N;IYN/J"OSW<?KO^TGN$/[Y>W_1N+J][WZ2'1_C@^]7-X\,&4\XUMEQK
ME"1.N1]P$PXA;#!F7)4'>(G5D3N!N&$*1/<.5)]A4?\1QOUL+]J'I^"/C&"H
MP -GYF+I+)^);_FW_9D9QOQGKEDRL*1Z*IRW:X=I=7=D.>BC0>#$E?P0S-!8
M9G\0@(C]B5F5,$*\9"$2K;@ "#2_/^E#BD 2RY&(;4LDT2K(H0;U?>*-T9R,
M/.KC?91]8GGVF,TU&8R5ZL^#)!%6RO]]JNNA=!R#]8'%A5]@FN$3"%'4QD\Z
MGOH>!X3)0YNW3!5GNL&>\:AR<@N\D:AV<CWVGN68[$B!*4),/T+E)?78FBV'
MNYX(/ [G@/F43,LW;-?'\TGP 7QMPXHM![-^4QO6TV@<8:4W[U7!R."9>-9?
M>K6" ?N;,PH\!B-9(QO&?J8.K 4'A^_IB!.*P?W#L>)FL6S5/<:%1!J0%RH]
M40JH'EH!/L,*N^ =GR;HG0I@&ERC$7 L:R#LA0#2J71GL[T'#YL11&Y$ZF@1
MMGQ\Q*/P:!)#"2[XZY\[FMK^Z$L]QPEAC'LZ<KU  H1_!=Q*JG+ROS&]QI1X
MF!2@*6R15>WE5OF/,#$G'HF8>!'^0%207ZQ@S/&70L%T4GN4'0;R)3"O8"]Q
M0,3ND/RD$I;(#AFA$:?$]\/AB#-X,""!1%AF68@!H@XG&?)K'@'4](X'[.\)
M'^.#*.8 U>12V?EW^"SH)$:2O)#TB\ 1U[_PAZ(;HR03S"0@9/(20P\3R4@B
M>T: W!%).B#1QA7TD0\%C[M^ EG1>X\+U4/$5 'K&SJ$Y0_$G(+%9A03""]R
M=*SW+";U3(%8+S%&HKF >D^4K=!@$I?@X-(X%0S _X0.!7#5%M?W7WL/GR4+
M6 9 Z#W\ /?_E'U[HNIRPL^_=GRP-PE'_T2Z!%5E!1+VSP,"'3^"53$D76M]
M.)>^@PH IF%,BDVJIYY$N4T;EQ$<1.3&?>%R"V!T(M (J!YXRL0G908H?GNB
M=F70$B8_]X6B=SW$PQPT;E470[5@,1)3+JJ(6*8 C?F*3X88X3#XW#* ;K(\
MML2A:U(;#X]P(476A(^Y2  ,(7 =0?J^$L\\L5WW)ZM4&@&D!-CGB6!\!;#'
MK&!S1 $;XNUI(,-H9MA]SO%W,&S$R)+!H;9C]!K"-@7C$5?^$R&T)DN7A;YE
M<N41DR9:3L#B'P<6*INQX-=()P-WVNBP8@] <)0B?0<JS'UE5],P1K8%!J=P
MYYA)PDG^@$DHR  S(@('%K\Q#L_D^(@.%!R SHG\ P^Q#?2FY@G8C,1#,3Y-
MRDX'XZ80!]D/GP)D@S2"PAHI4X\X!$).N(T1UCZQP\1"DXE149O<J"2Q&#E)
MT<NHX1G:4._T+<Q6,?$&U#/EC[@$Q6^Z3%OC:]PD(_(3/A!^3U%A K (.SSZ
M/P2@!+]*:!X9>"Q2CQ%ZI'3T\+'C.4V+&>$9(L\25S+"86AS+39Q\+@&B_ #
MTP'/X2U_Q,,/8)'@^K )@#F9VT$DY%>/\2&LS0@B"AEQFL%(IAG2;(=0C6=3
MSO7%W-\Y5><R5_W2=3"&X$;AWO)_?HFM8F'AP-P<7!/A;P7% %K2W$6L!:,R
M?28TB*#&$\8FS%H!0T8^!)@V?AD;LIU@;(A=@:+>3\IU[0M8/#=$RXNCH_(S
M7>2,)V1.,(CHS@PCJ\B#C1 &=!E;@9V$X;UQ&I@#" ,(HF&"(^:/<*@]0%)B
MZ%CH4H>/C Q^_=TR7T&)4L^9=I<7@0#/@FZT_(&P1Y'*XWHCNCB;H0OUYA-E
M'>="QW!M&Z40G60Q=3_$RPLF$UE^K,[-Q,#P,;<.\!IXEXQ"$__O"%YZ(79(
MDI'31&90J*:"JO@R/<0!3(EM%@QQG8)G49@P;>7@]ECP)'BO:*+GNQ-%093W
M+,P2=]FXQ<:'<<L.9D'_/I@LD^W:@?</=A)A39JP-"A0+U@F]9 1G)!I8+1K
MH$,8:*#(*'*KQ511<IYI,P<CVM1Y!MV+.+& //@LMWZI:P.V'Q$_ /^3RLF8
MY(B%:R^,WQ%J@<]Q[-I&R(8'XTX,S$_FP3#P!\[L C\],_JE+9K8OIM8>30.
M=M^%X,V84-CGL,5?N&& ;H9@=L[Y)V@*T%%*8HUA*N:AB2<]CXDG8G/SSC0!
M(S?NO()Q>";H5'"!BSGW=4!Q=.3@B#+,A)$H#HD'?K5LFYF@)VYW7B 6-+>O
MY;_19V)_)V!^/7;..HIU"LWZ8,6_%<1GN9-SE)/YT=/8R@)VX0$1"@"&Z/!?
M%),7UW[AR@;C.<Z72?&ASHOEN0["CS)K$VLH<B@NZF6PYQ PCD(A=(S0//N!
MP9CG,YF/C$$$V-\'V$>:<PIRP0B$B6E*QBGP801DK'W9N."L<#4B= R,' 6B
M(K(&CV;$PEXW&;@FHM5IQ>"RG 6[_!E?L9$=T G%$_G<FTD$WL(\)E)I,6>3
MYV</WIV"#)'NA^":3LV.5N-U8!GB_+F/PZ"9X;) 4=.;5)[(QZP+14P0%0QH
M>7CO.C/Z:3Z[MGVINN?!/-YH<"EXY.] G.@ZRQSL+H@(L6 O^/7(4%=(VHJ)
MRY&V1L348G866VI3LL>S"SS=R,PU&!=, <TX*/'WL>\$; 0,&*+NYJD0=ET_
MM6WF>X.+@P$=>!KF">:7T'D6(W,)1>\!'O#!T+["0 :X2)BS8C?+P.?,4P)Y
M-_A0,'# ,BSBR<08W,"YKLT#/<;6T5,SR\=EB$CBO]AE $T"TQ2N'8D/0#"T
MT,%Y=C%@P@&I]V*AG;%\'O>)_KT@D^AN1F858)ZDSL(1,+\_L$91PB$>#5U1
MFT9.4#0VTTX3_X3)KD?[Z*3Y43S";"[WK%ZC+ T"P2T7<^2HJ-X4J1O4('/+
MB%#R%8$183DFSX9/ #=F"SC,/GWF$16NF%<G )1>*A[C? $@#W2-CUX79A9F
M%LO02SV6G4:+/'$U1+!())L\N=X)'V_(4S81O-_PJTG6@3%;Y#_$&LAP_4 X
M!,C>@DQ#4.A ).0O<>8-X<#6$M2/+44TS^=H,4C<B2,J<]T_I(!6@ WF0?<L
M1-&QQ].TBIAD0O<0@DG!F=%T,1V^3/*(?<N#8<$W]0+^-H^DD]L/D^B8V(![
MIL@CHB2,1?I4O92]"YGGND6F<.9%=-O R+'<16D9P =&!M8&&QD; Q41G[
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
MYM\^4>2YN/5MW-*5&;D3"S0D_PW4J&@4O8# &7W&V5AH[@C@21\XUQZ?BU.
MT2E.$+$AC#'F340GJ[>8GN>GKOWH1*"TF@L>C &8')O>]F.:77(96GER>N^.
M2G?UTU91L6RQ,5&G?=HI+LQ.\>6GV&LZS:)":#63/9\^7YKO>.FJZ.^T6>I"
M"Z9*N<#FH\I<Z^HYPN3,[1<K#_?D-?;_<J4/2V/^ OL,Q,H15OE=+-*?UHE7
M156E-N26TI6[*><=4J#.E:<MB9W7KY(L3<*V37JM&,(W6HJLI)SQ7$;XHE*]
MQ6J#O[O>3W";3D:>:U"_H+,N96N*C(R :[MV[OC*2E("NJPVVG(GY2[<M97
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
M@\K;-:@,[GFP\^;DL/.^:\NXE]3%V::C2.%RS^X[]ZZ$-.0"B<"H84SLL"#
M-XR5'?,*%DM0;5QQ?!TJ&\3:%EC'=6AT[".:&1U0B-M6["& (0$1'Z7+.W!I
M.B)QA@S_6L1DZ[7.D6QVCO?(F]$Y#OV5OX0R,JF'DA4(KH,*PC[B;,R3FD2I
M*+JG*((B=G05=T@PM3Z'WK?&\OTA8]G[[?QBOBS3UN7MJ1Q:'1<Y===OY-<W
M?3+(_5X+>_0OR*)=(PR.>9X&J2'@?R +N_D29J<A(=ZE)L=W(-?"8 ?4QT19
M5W40H]1MQ+URR;35HC<42X=@R7A+%!HE(?!#A=J%,8B&"F7N+!U:%2II%'N@
M/"\[&DIYI\(R5[JDMXY878UJ2S H1VQY488^J8(BELPM\,L9L>1<K/ ,7NT\
M^#8D"-9K*']L0&%W*VI]"1._4IX,U^;)QI76<$VTFB^;%^FZM!'KL@:I-E$A
M)X.T.I5,1](BD;B]<H9($\[10OXH.52QRF=,X.O4<O(Z8!UD/NWNB5;:LV.]
MN]*AK# (,?)=I?6:# )M0F>!Z]0C2M%(8N0.GE#&2<DB&$-89X9T"E0&XGE^
M@OPL)@G*#+F<R+APU<;1HRA"C\7(F&) >M@K%YUF _KPE^O;)^=#O8:5*'WK
MN_10%_GC)FS"<'(A33R#1$_/5F(XGVY<CI,/!>SI\N;_.TC#>='[8#V,.D_0
M9<MT3]9"NT6E,]_K("@,0ENO5=AUS;:)MCGN!SS;13 0.Y6'&+'WR)((68(:
M7)$N+<=(1V[ZYX-!6BP,V_=FC:5=M"*N7I=4%+H^Z )2<LX,(_XWBLN3P(I\
MXZD8N1S^89!>EDG/F^./7W-B=(?/<)Y1C47)^$F@BNJR?!B7S7O-PZ%@89[$
M8)!K8Q?L[FY@RP3GNYSH!PPUU.@?_#Q4L,]ML@?LP0>6^0;_>3R9)RQ]+Q3,
M=\E9I($[.>R?OF!J_^D3P'Q2/(O1^M"*%7#EJ9?GYT 10"@Y>C&P34E^8\YU
MK9"C@I)V79QK9G&@V@K;<KCRIXXU%2=#++2T*+A'\Z#L_5@",-&A&Y[Y+6C?
M%@G<5_^0\Z9DNK5GSY5:W C9ZCL:%]DU6/UTK.?3WAGX/3*HD08"3ZZT 9U[
M U&"W'#L6*^I=*+C"3%'IG)4ODHQ)1U0DL5Z1G@Z'6M/ /)>#@'R5^D@!\]_
M7];LG*Q@<?SV/A;;P_ODEMO"Z]>_ %ZV:+=_ ?!.A3?C6L[$"<;SP_;AD0>]
MLGUU;><=<JM?BE3>N>X.43YDFD.=YSHY[61WPAVXQ)NV^]OMMVSKP0O1\FVL
M>,58/&;LJNH7S%6=]LF/E/+34NDM)DC%6= 0'\:*(G'C^0X4=N,[HF.7 ;,8
MIDWSLA>]]XT\:;.1>[?^,('ZN+RCH. )>*X;YQ(H7PI\7)12*;#_*I8<GIRL
MYGN+?QW /_=C0:_E?F+X%U!+ P04    "  "A*A6Z8Q.ZX8#   %"P  $
M &0T.#,Y,3!D97@S,BYH=&V]5MMNVS@0?3?@?QB@0.( LB79VS2U50'Q)8BW
M3>PF:K%]I"7*)BJ1"DEM[+_?H21+[FT3=]LU_"!J+CQSY@Q%[SJX>>=[U[/+
MJ=]N><$\>#?S9W]U!WW/+A?XUJ[, -YX,?WD@S>=?_2])2B]2^B;TUAP/72=
M3,.E9"09I42N&1\ZIYCI>CZ>!S#H@V<O3:XED(2M^9N0<DWETQE.^$IE(Q,,
M1\=Z8W]"I68Q"XEF@L,RERHG7(,6X%[ A]Y];]*#>QH65G?PTK$\>^S_]&Y$
MP64D,DVC>JMV2XO_E'./[K5S#B(&O:%P3^2*<*JZBVU"=W 9:F/I.T[_<*<C
MJ7W2?<XA%)Q7<!Z9WA1@WN=$8BW)#NYH)B1"X7 E9-INN4[WO0$VV2#_:P%W
M[&^JX82DV0AN2+AAG,)$]*!CTIP\Y$*/)B+-"-^5BS.(A2SV>*CWR*AD(@+*
M(^3XALAP P/7PMK[ T#V8Y;@^QH;<I=+IAE50'@$LVVX(7QM=DU3II2I __&
M,R*:PH9*BG@/\)0E57 LF%MPPS '3>#/'HQ%+M>6V78IJ6(1]M1JM[!:&L,"
M@:+F^!H6,<H/>VT !)(2E4M<=7!9A*H\W%@%A$PR'K*,)$"WB%LC6\A>$]S8
M8\8)/N)393_;*Z/BSRI*6>T@+.2/Z^R[RC]YX9Z_&I4Z*-1O$)%*P8<AAXZ-
M$-NM'RO1U$2T98(-L!55A2G=P6<N'K%+:SK\":46)\C38_-V/-U[94(QH]@A
M62F1Y)J.FKB I2B-6_H(=R(EO,K036BLAX/S3)_Z'??,LS';8<I#KU?]3/NE
M1X!E5B,0YPEJ-<1F)$9[M1XE?<B9I"DJ11DVFI.G0["'$MR7G:AN9J/>=JN6
M;D6Q^WKPQ\C(XL@A/M+]%Q+9/X;(=HMQ'/ZT/+;QV-$$3XL(6#FM>YH)*\X$
MG#[#J&7,)$D PZ@I!/E6&5*LR@%KQ@831D4MQ6"A5YZ4#1'EV JNOIJHWN_E
M^6B!7RUN@[W;2LB(RNY*:"W2H9MM ?O#(GCA%+]3WU;V-^>69YL4_J^?J<.X
MLK6.Z?\M2<W _XL"C$XJ!7P-]G?-_P^P!DPGSP?;'/[PK+/_N&)&FFYUEW&S
MP7Z4EO678%9_*0ZW:NQ7M>0K^]G_1N(4A_#Y#2<[N"@_XT=-SC?L?(&C?W%A
MD'Q!N&VNKG@9+2ZR>+,UU]]_ %!+ 0(4 Q0    (  *$J%98RYN=@@8  "$U
M   0              "  0    !C=G(M,C R,S S,S$N>'-D4$L! A0#%
M  @  H2H5@S?,]_J!P  K&$  !0              ( !L 8  &-V<BTR,#(S
M,#,S,5]C86PN>&UL4$L! A0#%     @  H2H5F<C0B3V"0  >)0  !0
M         ( !S X  &-V<BTR,#(S,#,S,5]D968N>&UL4$L! A0#%     @
M H2H5@JI)!.8(P  C,T! !0              ( !]!@  &-V<BTR,#(S,#,S
M,5]L86(N>&UL4$L! A0#%     @  H2H5D%<K4@$%@  X7H! !0
M     ( !OCP  &-V<BTR,#(S,#,S,5]P<F4N>&UL4$L! A0#%     @  H2H
M5@ )1'UK5P  &U4$  \              ( !]%(  &0T.#,Y,3!D,3!Q+FAT
M;5!+ 0(4 Q0    (  *$J%:,R,Q\LP8  &D8   0              "  8RJ
M  !D-#@S.3$P9&5X,S$N:'1M4$L! A0#%     @  H2H5NF,3NN& P  !0L
M !               ( !;;$  &0T.#,Y,3!D97@S,BYH=&U02P4&      @
," #_ 0  (;4

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